diff --git a/doc/html/.gitignore b/doc/html/.gitignore deleted file mode 100644 index 68f260257d28177b7f23d6f2c97e670bf4b9484e..0000000000000000000000000000000000000000 --- a/doc/html/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.buildinfo -objects.inv -searchindex.js -_sources diff --git a/doc/html/2001/README.html b/doc/html/2001/README.html deleted file mode 100644 index d36aa917aa0e8ddf6d40a114dce8678a638b80b6..0000000000000000000000000000000000000000 --- a/doc/html/2001/README.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - -

-LAMMPS

-

-LAMMPS = Large-scale Atomic/Molecular Massively Parallel Simulator

-

-This is the documentation for the LAMMPS 2001 version, written in F90, -which has been superceded by more current versions. See the LAMMPS WWW -Site for more information. -

-LAMMPS is a classical molecular dynamics code designed for simulating -molecular and atomic systems on parallel computers using -spatial-decomposition techniques. It runs on any parallel platform that -supports F90 and the MPI message-passing library or on single-processor -workstations.

-

-LAMMPS 2001 is copyrighted code that is distributed freely as -open-source software under the GNU Public License (GPL). See the -LICENSE file or www.gnu.org for more -details. Basically the GPL allows you as a user to use, modify, or -distribute LAMMPS however you wish, so long as any software you -distribute remains under the GPL. -

-Features of LAMMPS 2001 include:

- -

-For users of LAMMPS 99, this version is written in F90 to take -advantage of dynamic memory allocation. This means the user does not -have to fiddle with parameter settings and re-compile the code so -often for different problems. This enhancment means there are new -rules for the ordering of commands in a LAMMPS input script, as well -as a few new commands to guide the memory allocator. Users should read -the beginning sections of the input_commands file for an -explanation.

-

-More details about the code can be found here, in the HTML- or text-based -documentation. The LAMMPS Web page is at www.cs.sandia.gov/~sjplimp/lammps.html -, which includes benchmark timings and a list of papers written using -LAMMPS results. They illustrate the kinds of scientific problems that -can be modeled with LAMMPS. These two papers describe the parallel -algorithms used in the code. Please cite these if you incorporate -LAMMPS results in your work. And if you send me citations for your -papers, I'll be pleased to add them to the LAMMPS WWW page. -

-

-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.

-

-S. J. Plimpton, "Fast Parallel Algorithms for Short-Range Molecular Dynamics", J Comp Phys, 117, 1-19 (1995).

-

-LAMMPS was originally developed as part of a 5-way CRADA collaboration -between 3 industrial partners (Cray Research, Bristol-Myers Squibb, and -Dupont) and 2 DoE laboratories (Sandia National Laboratories and -Lawrence Livermore National Laboratories).

-

-The primary author of LAMMPS is Steve Plimpton, but others have written -or worked on significant portions of the code:

- -

-Other CRADA partners involved in the design and testing of LAMMPS are

- -

-If you have questions about LAMMPS, please contact me: -

-
-
- Steve Plimpton -
- sjplimp@sandia.gov -
- www.cs.sandia.gov/~sjplimp -
- Sandia National Labs -
- Albuquerque, NM 87185 -
-
-

-More Information about LAMMPS

- -
  • - Basics - -
  • - how to make, run, and test LAMMPS with the example problems -
  • -
  • - Input Commands - -
  • - a complete listing of input commands used by LAMMPS -
  • -
  • - Data Format - -
  • - the data file format used by LAMMPS -
  • -
  • - Force Fields - -
  • - the equations LAMMPS uses to compute force-fields -
  • -
  • - Units - -
  • - the input/output and internal units for LAMMPS variables -
  • -
  • - History - -
  • - a brief timeline of features added to LAMMPS -
  • -
  • - Deficiencies - -
  • - features LAMMPS does not (yet) have -
  • -
  • - - diff --git a/doc/html/2001/basics.html b/doc/html/2001/basics.html deleted file mode 100644 index 24ac6de4ca5f7fa073d11a27871530741b694548..0000000000000000000000000000000000000000 --- a/doc/html/2001/basics.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - -

    -Basics of Using LAMMPS

    -

    -Return to top-level of LAMMPS documentation.

    - -
    -

    -Distribution

    -

    -When you unzip/untar the LAMMPS distribution you should have several -directories:

    - -
    -

    -Making LAMMPS

    -

    -The src directory contains the F90 and C source files for LAMMPS as -well as several sample Makefiles for different machines. To make LAMMPS -for a specfic machine, you simply type

    -

    -make machine

    -

    -from within the src directoy. E.g. "make sgi" or "make t3e". This -should create an executable such as lmp_sgi or lmp_t3e. For optimal -performance you'll want to use a good F90 compiler to make LAMMPS; on -Linux boxes I've been told the Leahy F90 compiler is a good choice. -(If you don't have an F90 compiler, I can give you an older F77-based -version of LAMMPS 99, but you'll lose the dynamic memory and some -other new features in LAMMPS 2001.)

    -

    -In the src directory, there is one top-level Makefile and several -low-level machine-specific files named Makefile.xxx where xxx = the -machine name. If a low-level Makefile exists for your platform, you do -not need to edit the top-level Makefile. However you should check the -system-specific section of the low-level Makefile to insure the -various paths are correct for your environment. If a low-level -Makefile does not exist for your platform, you will need to add a -suitable target to the top-level Makefile. You will also need to -create a new low-level Makefile using one of the existing ones as a -template. If you wish to make LAMMPS for a single-processor -workstation that doesn't have an installed MPI library, you can -specify the "serial" target which uses a directory of MPI stubs to -link against - e.g. "make serial". You will need to make the -stub library (type "make" in STUBS directory) for your -workstation before doing this.

    -

    -Note that the two-level Makefile system allows you to make LAMMPS for -multiple platforms. Each target creates its own object directory for -separate storage of its *.o files.

    -

    -There are a few compiler switches of interest which can be specified -in the low-level Makefiles. If you use a F90FLAGS switch of -DSYNC -then synchronization calls will be made before the timing routines in -integrate.f. This may slow down the code slightly, but will make the -individual timings reported at the end of a run more accurate. The -F90FLAGS setting of -DSENDRECV will use MPI_Sendrecv calls for data -exchange between processors instead of MPI_Irecv, MPI_Send, -MPI_Wait. Sendrecv is often slower, but on some platforms can be -faster, so it is worth trying, particularly if your communication -timings seem slow.

    -

    -The CCFLAGS setting in the low-level Makefiles requires a FFT setting, -for example -DFFT_SGI or -DFFT_T3E. This is for inclusion of the -appropriate machine-specific native 1-d FFT libraries on various -platforms. Currently, the supported machines and switches (used in -fft_3d.c) are FFT_SGI, FFT_DEC, FFT_INTEL, FFT_T3E, and FFT_FFTW. The -latter is a publicly available portable FFT library, FFTW, which you can install on any -machine. If none of these options is suitable for your machine, please -contact me, and we'll discuss how to add the capability to call your -machine's native FFT library. You can also use FFT_NONE if you have no -need to use the PPPM option in LAMMPS.

    -

    -For Linux and T3E compilation, there is a also a CCFLAGS setting for KLUDGE -needed (see Makefile.linux and Makefile.t3e). This is to enable F90 to -call C with appropriate underscores added to C function names. -


    -

    -Running LAMMPS

    -

    -LAMMPS is run by redirecting a text file (script) of input commands into it.

    -

    -lmp_sgi < in.lj

    -

    -lmp_t3e < in.lj

    -

    -The script file contains commands that specify the parameters for the -simulation as well as to read other necessary files such as a data file -that describes the initial atom positions, molecular topology, and -force-field parameters. The input_commands - page describes all the possible commands that can be used. The data_format page describes the format of -the data file.

    -

    -LAMMPS can be run on any number of processors, including a single -processor. In principle you should get identical answers on any number -of processors and on any machine. In practice, numerical round-off can -cause slight differences and eventual divergence of dynamical -trajectories.

    -

    -When LAMMPS runs, it estimates the array sizes it should allocate based -on the problem you are simulating and the number of processors you -are running on. If you run out of physical memory, you will get a F90 -allocation error and the code should hang or crash. The only thing you -can do about this is run on more processors or run a smaller problem. If -you get an error message to the screen about "boosting" -something, it means LAMMPS under-estimated the size needed for one (or -more) data arrays. The "extra memory" command can be used in -the input script to augment these sizes at run time. A few arrays are -hard-wired to sizes that should be sufficient for most users. These are -specified with parameter settings in the global.f file. If you get a -message to "boost" one of these parameters you will have to -change it and re-compile LAMMPS.

    -

    -Some LAMMPS errors are detected at setup; others like neighbor list -overflow may not occur until the middle of a run. Except for F90 -allocation errors which may cause the code to hang (with an error -message) since only one processor may incur the error, LAMMPS should -always print a message to the screen and exit gracefully when it -encounters a fatal error. If the code ever crashes or hangs without -spitting out an error message first, it's probably a bug, so let me -know about it. Of course this applies to algorithmic or parallelism -issues, not to physics mistakes, like specifying too big a timestep or -putting 2 atoms on top of each other! One exception is that different -MPI implementations handle buffering of messages differently. If the -code hangs without an error message, it may be that you need to -specify an MPI setting or two (usually via an environment variable) to -enable buffering or boost the sizes of messages that can be -buffered.

    -
    -

    -Examples

    -

    -There are several directories of sample problems in the examples -directory. All of them use an input file (in.*) of commands and a data -file (data.*) of initial atomic coordinates and produce one or more -output files. Sample outputs on different machines and numbers of -processors are included to compare your answers to. See the README -file in the examples sub-directory for more information on what LAMMPS -features the examples illustrate.

    -

    -(1) lj = atomic simulations of Lennard-Jones systems. -

    -(2) class2 = phenyalanine molecule using the DISCOVER cff95 class 2 -force field. -

    -(3) lc = liquid crystal molecules with various Coulombic options and -periodicity settings. -

    -(4) flow = 2d flow of Lennard-Jones atoms in a channel using various -constraint options. -

    -(5) polymer = bead-spring polymer models with one or two chain types. -

    -
    -

    -Other Tools

    -

    -The converters directory has source code and scripts for tools that -perform input/output file conversions between MSI Discover, AMBER, and -LAMMPS formats. See the README files for the individual tools for -additional information. -

    -The tools directory has several serial programs that create and -massage LAMMPS data files. -

    -(1) setup_chain.f = create a data file of polymer bead-spring chains -

    -(2) setup_lj.f = create a data file of an atomic LJ mixture of species -

    -(3) setup_flow_2d.f = create a 2d data file of LJ particles with walls for - a flow simulation -

    -(4) replicate.c = replicate or scale an existing data file into a new one -

    -(5) peek_restart.f = print-out info from a binary LAMMPS restart file -

    -(6) restart2data.f = convert a binary LAMMPS restart file into a text data file -

    -See the comments at the top of each source file for information on how -to use the tool. -


    -

    -Extending LAMMPS

    -

    -User-written routines can be compiled and linked with LAMMPS, then -invoked with the "diagnostic" command as LAMMPS runs. These routines -can be used for on-the-fly diagnostics or a variety of other purposes. -The examples/lc directory shows an example of using the diagnostic -command with the in.lc.big.fixes input script. A sample diagnostic -routine is given there also: diagnostic_temp_molecules.f. - - diff --git a/doc/html/2001/data_format.html b/doc/html/2001/data_format.html deleted file mode 100644 index 0fe7f1a8f4b162fc0f67b803199441b336ed8fec..0000000000000000000000000000000000000000 --- a/doc/html/2001/data_format.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - -

    -LAMMPS Data Format

    -

    -Return to top-level of LAMMPS documentation

    -

    -This file describes the format of the data file read into LAMMPS with -the "read data" command. The data file contains basic -information about the size of the problem to be run, the initial atomic -coordinates, molecular topology, and (optionally) force-field -coefficients. It will be easiest to understand this file if you read it -while looking at a sample data file from the examples.

    -

    -This page has 2 sections:

    - -
    -

    -Rules for formatting the Data File:

    -

    -Blank lines are important. After the header section, new entries are -separated by blank lines.

    -

    -Indentation and space between words/numbers on one line is not -important except that keywords (e.g. Masses, Bond Coeffs) must be -left-justified and capitalized as shown.

    -

    -The header section (thru box bounds) must appear first in the file, the -remaining entries (Masses, various Coeffs, Atoms, Bonds, etc) can come -in any order.

    -

    -These entries must be in the file: header section, Masses, Atoms.

    -

    -These entries must be in the file if there are a non-zero number of -them: Bonds, Angles, Dihedrals, Impropers. Force field coefficients -can be specified in the input script, so do not have to appear in the -data file. The one exception to this is class 2 force field -coefficients which can only be specified in the data file. -

    -The Nonbond Coeffs entry contains one line for each atom type. These -are the coefficients for an interaction between 2 atoms of the same -type. The cross-type coeffs are computed by the appropriate class I or -class II mixing rules, or can be specified explicitly using the -"nonbond coeff" command in the input command script. See the force_fields page for more information.

    -

    -In the Atoms entry, the atoms can be in any order so long as there are -N entries. The 1st number on the line is the atom-tag (number from 1 to -N) which is used to identify the atom throughout the simulation. The -molecule-tag is a second identifier which is attached to the atom; it -can be 0, or a counter for the molecule the atom is part of, or any -other number you wish. The q value is the charge of the atom in -electron units (e.g. +1 for a proton). The xyz values are the initial -position of the atom. For 2-d simulations specify z as 0.0.

    -

    -The final 3 nx,ny,nz values on a line of the Atoms entry are optional. -LAMMPS only reads them if the "true flag" command is -specified in the input command script. Otherwise they are initialized -to 0 by LAMMPS. Their meaning, for each dimension, is that -"n" box-lengths are added to xyz to get the atom's -"true" un-remapped position. This can be useful in pre- or -post-processing to enable the unwrapping of long-chained molecules -which wind thru the periodic box one or more times. The value of -"n" can be positive, negative, or zero. For 2-d simulations -specify nz as 0.

    -

    -Atom velocities are initialized to 0.0 if there is no Velocities entry. -In the Velocities entry, the atoms can be in any order so long as there -are N entries. The 1st number on the line is the atom-tag (number from -1 to N) which is used to identify the atom which the given velocity -will be assigned to.

    -

    -Entries for Velocities, Bonds, Angles, Dihedrals, Impropers must appear -in the file after an Atoms entry.

    -

    -For simulations with periodic boundary conditions, xyz coords are -remapped into the periodic box (from as far away as needed), so the -initial coordinates need not be inside the box. The nx,ny,nz values -(as read in or as set to zero by LAMMPS) are appropriately adjusted by -this remapping.

    -

    -The number of coefficients specified on each line of coefficient -entries (Nonbond Coeffs, Bond Coeffs, etc) depends on the -"style" of interaction. This must be specified in the input -command script before the "read data" command is issued, unless the -default is used. See the input_commands page for a description -of the various style options. The input_commands - and force_fields pages explain the -meaning and valid values for each of the coefficients.

    -
    -

    -Sample file with Annotations

    -

    -Here is a sample file with annotations in parenthesis and lengthy -sections replaced by dots (...). Note that the blank lines are -important in this example.

    -
    -
    -LAMMPS Description           (1st line of file)
    -
    -100 atoms         (this must be the 3rd line, 1st 2 lines are ignored)
    -95 bonds                (# of bonds to be simulated)
    -50 angles               (include these lines even if number = 0)
    -30 dihedrals
    -20 impropers
    -
    -5 atom types           (# of nonbond atom types)
    -10 bond types          (# of bond types = sets of bond coefficients)
    -18 angle types         
    -20 dihedral types      (do not include a bond,angle,dihedral,improper type
    -2 improper types             line if number of bonds,angles,etc is 0)
    -
    --0.5 0.5 xlo xhi       (for periodic systems this is box size,
    --0.5 0.5 ylo yhi        for non-periodic it is min/max extent of atoms)
    --0.5 0.5 zlo zhi       (do not include this line for 2-d simulations)
    -
    -Masses
    -
    -  1 mass
    -  ...
    -  N mass                           (N = # of atom types)
    -
    -Nonbond Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of atom types)
    -
    -Bond Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of bond types)
    -
    -Angle Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of angle types)
    -
    -Dihedral Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -Improper Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of improper types)
    -
    -BondBond Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of angle types)
    -
    -BondAngle Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of angle types)
    -
    -MiddleBondTorsion Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -EndBondTorsion Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -AngleTorsion Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -AngleAngleTorsion Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -BondBond13 Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -AngleAngle Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of improper types)
    -
    -Atoms
    -
    -  1 molecule-tag atom-type q x y z nx ny nz  (nx,ny,nz are optional -
    -  ...                                    see "true flag" input command)
    -  ...                
    -  N molecule-tag atom-type q x y z nx ny nz  (N = # of atoms)
    -
    -Velocities
    -
    -  1 vx vy vz
    -  ...
    -  ...                
    -  N vx vy vz                        (N = # of atoms)
    -
    -Bonds
    -
    -  1 bond-type atom-1 atom-2
    -  ...
    -  N bond-type atom-1 atom-2         (N = # of bonds)
    -
    -Angles
    -
    -  1 angle-type atom-1 atom-2 atom-3  (atom-2 is the center atom in angle)
    -  ...
    -  N angle-type atom-1 atom-2 atom-3  (N = # of angles)
    -
    -Dihedrals
    -
    -  1 dihedral-type atom-1 atom-2 atom-3 atom-4  (atoms 2-3 form central bond)
    -  ...
    -  N dihedral-type atom-1 atom-2 atom-3 atom-4  (N = # of dihedrals)
    -
    -Impropers
    -
    -  1 improper-type atom-1 atom-2 atom-3 atom-4  (atom-2 is central atom)
    -  ...
    -  N improper-type atom-1 atom-2 atom-3 atom-4  (N = # of impropers)
    -
    - - diff --git a/doc/html/2001/deficiencies.html b/doc/html/2001/deficiencies.html deleted file mode 100644 index 2b197e9cce3060ed188a063dfbd3a75e48acb222..0000000000000000000000000000000000000000 --- a/doc/html/2001/deficiencies.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -

    -LAMMPS Deficiencies

    -

    -Return to top-level of LAMMPS documentation.

    -

    -This is a brief list of features lacking in the current version of -LAMMPS. Some of these deficiencies are because of lack of -time/interest; others are just hard!

    - - - diff --git a/doc/html/2001/force_fields.html b/doc/html/2001/force_fields.html deleted file mode 100644 index c0d5d73f3c96869e689cbd9525441d7a5bdc782b..0000000000000000000000000000000000000000 --- a/doc/html/2001/force_fields.html +++ /dev/null @@ -1,681 +0,0 @@ - - - - - - -

    -LAMMPS Force Fields

    -

    -Return to top-level of LAMMPS documentation

    -

    -This file outlines the force-field formulas used in LAMMPS. Read this -file in conjunction with the data_format - and units files.

    -

    -The sections of this page are as follows:

    - -
    -

    -Nonbond Coulomb

    -

    -Whatever Coulomb style is specified in the input command file, the -short-range Coulombic interactions are computed by this formula, -modified by an appropriate smoother for the smooth, Ewald, PPPM, -charmm, and debye styles.

    -
    -  E = C q1 q2 / (epsilon * r)
    -
    -  r = distance (computed by LAMMPS)
    -  C = hardwired constant to convert to energy units
    -  q1,q2 = charge of each atom in electron units (proton = +1),
    -    specified in "Atoms" entry in data file
    -  epsilon = dielectric constant (vacuum = 1.0),
    -    set by user in input command file
    -
    -For the debye style, the smoother is exp(-kappa*r) where kappa is an -input parameter. -
    -

    -Nonbond Lennard-Jones

    -

    -The style of nonbond potential is specified in the input command file.

    -

    -(1) lj/cutoff

    -
    -
    -  E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]
    -
    -  standard Lennard Jones potential
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = epsilon (energy)
    -  coeff2 = sigma (distance)
    -
    -  2 coeffs are listed in data file or set in input script
    -  1 cutoff is set in input script
    -
    -
    -

    -(2) lj/switch

    -
    -
    -  E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]  for  r < r_inner
    -    = spline fit    for  r_inner < r < cutoff
    -    = 0             for r > cutoff
    -
    -  switching function (spline fit) is applied to standard LJ
    -    within a switching region (from r_inner to cutoff) so that
    -    energy and force go smoothly to zero
    -  spline coefficients are computed by LAMMPS
    -    so that at inner cutoff (r_inner) the potential, force, 
    -    and 1st-derivative of force are all continuous, 
    -    and at outer cutoff (cutoff) the potential and force
    -    both go to zero
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = epsilon (energy)
    -  coeff2 = sigma (distance)
    -  
    -  2 coeffs are listed in data file or set in input script
    -  2 cutoffs (r_inner and cutoff) are set in input script
    -
    -
    -

    -(3) lj/shift

    -
    -
    -  E = 4 epsilon [ (sigma/(r - delta))^12 - (sigma/(r - delta))^6 ]
    -
    -  same as lj/cutoff except that r is shifted by delta
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = epsilon (energy)
    -  coeff2 = sigma (distance)
    -  coeff3 = delta (distance)
    -
    -  3 coeffs are listed in data file or set in input script
    -  1 cutoff is set in input script
    -
    -
    -

    -(4) soft

    -
    -
    -  E = A * [ 1 + cos( pi * r / cutoff ) ]
    -
    -  useful for pushing apart overlapping atoms by ramping A over time
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = prefactor A at start of run (energy)
    -  coeff2 = prefactor A at end of run (energy)
    -
    -  2 coeffs are listed in data file or set in input script
    -  1 cutoff is set in input script
    -
    -
    -

    -(5) class2/cutoff

    -
    -
    -  E = epsilon [ 2 (sigma/r)^9 - 3 (sigma/r)^6 ]
    -
    -  used with class2 bonded force field
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = epsilon (energy)
    -  coeff2 = sigma (distance)
    -
    -  2 coeffs are listed in data file or set in input script
    -  1 cutoff is set in input script
    -
    -

    -6) lj/charmm

    -
    -
    -  E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]  for  r < r_inner
    -    = switch * E    for  r_inner < r < cutoff
    -    = 0             for r > cutoff
    -
    -  where 
    -
    -  switch = [(cutoff^2 - r^2)^2 * (cutoff^2 + 2*r^2 - 3*r_inner)] /
    -           [(cutoff^2 - r_inner^2)^3]
    -
    -  switching function is applied to standard LJ
    -    within a switching region (from r_inner to cutoff) so that
    -    energy and force go smoothly to zero
    -  switching function causes that at inner cutoff (r_inner)
    -    the potential and force are continuous, 
    -    and at outer cutoff (cutoff) the potential and force
    -    both go to zero
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = epsilon (energy)
    -  coeff2 = sigma (distance)
    -  coeff3 = epsilon for 1-4 interactions (energy)
    -  coeff4 = sigma for 1-4 interactions (distance)
    -  
    -  4 coeffs are listed in data file or set in input script
    -  2 cutoffs (r_inner and cutoff) are set in input script
    -
    -
    -

    -Mixing Rules for Lennard-Jones

    -

    -The coefficients for each nonbond style are input in either the data -file by the "read data" command or in the input script using -the "nonbond coeff" command. In the former case, only one set -of coefficients is input for each atom type. The cross-type coeffs are -computed using one of three possible mixing rules:

    -
    -
    - geometric:  epsilon_ij = sqrt(epsilon_i * epsilon_j)
    -             sigma_ij = sqrt(sigma_i * sigma_j)
    -
    - arithmetic: epsilon_ij = sqrt(epsilon_i * epsilon_j)
    -             sigma_ij = (sigma_i + sigma_j) / 2
    -
    - sixthpower: epsilon_ij =
    -               (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) /
    -               (sigma_i^6 + sigma_j^6)
    -             sigma_ij=  ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6)
    -
    -
    -

    -The default mixing rule for nonbond styles lj/cutoff, lj/switch, -lj/shift, and soft is "geometric". The default for nonbond -style class2/cutoff is "sixthpower".

    -

    -The default can be overridden using the "mixing style" -command. Two exceptions to this are for the nonbond style soft, for -which only an epsilon prefactor is input. This is always mixed -geometrically. Also, for nonbond style lj/shift, the delta -coefficient is always mixed using the rule

    - -
    -

    -Bonds

    -

    -The style of bond potential is specified in the input command file.

    -

    -(1) harmonic

    -
    -
    -  E = K (r - r0)^2
    -
    -  standard harmonic spring
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = K (energy/distance^2)  (the usual 1/2 is included in the K)
    -  coeff2 = r0 (distance)
    -
    -  2 coeffs are listed in data file or set in input script
    -
    -
    -

    -(2) FENE/standard

    -
    -
    -  E = -0.5 K R0^2 * ln[1 - (r/R0)^2] +
    -    4 epsilon [(sigma/r)^12 - (sigma/r)^6] + epsilon
    -
    -  finite extensible nonlinear elastic (FENE) potential for
    -    polymer bead-spring models
    -  see Kremer, Grest, J Chem Phys, 92, p 5057 (1990)
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = K (energy/distance^2)
    -  coeff2 = R0 (distance)
    -  coeff3 = epsilon (energy)
    -  coeff4 = sigma (distance)
    -
    -  1st term is attraction, 2nd term is repulsion (shifted LJ)
    -  1st term extends to R0
    -  2nd term only extends to the minimum of the LJ potential,
    -    a cutoff distance computed by LAMMPS (2^(1/6) * sigma)
    -
    -  4 coeffs are listed in data file or set in input script
    -
    -
    -

    -(3) FENE/shift

    -
    -
    -  E = -0.5 K R0^2 * ln[1 - ((r - delta)/R0)^2] +
    -    4 epsilon [(sigma/(r - delta))^12 - (sigma/(r - delta))^6] + epsilon
    -
    -  same as FENE/standard expect that r is shifted by delta
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = K (energy/distance^2)
    -  coeff2 = R0 (distance)
    -  coeff3 = epsilon (energy)
    -  coeff4 = sigma (distance)
    -  coeff5 = delta (distance)
    -
    -  1st term is attraction, 2nd term is repulsion (shifted LJ)
    -  1st term extends to R0
    -  2nd term only extends to the minimum of the LJ potential,
    -    a cutoff distance computed by LAMMPS (2^(1/6) * sigma + delta)
    -
    -  5 coeffs are listed in data file or set in input script
    -
    -
    -

    -(4) nonlinear

    -
    -
    -  E = epsilon (r - r0)^2 / [ lamda^2 - (r - r0)^2 ]
    -
    -  non-harmonic spring of equilibrium length r0
    -    with finite extension of lamda
    -  see Rector, Van Swol, Henderson, Molecular Physics, 82, p 1009 (1994)
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = epsilon (energy)
    -  coeff2 = r0 (distance)
    -  coeff3 = lamda (distance)
    -
    -  3 coeffs are listed in data file or set in input script
    -
    -
    -

    -(5) class2

    -
    -
    -  E = K2 (r - r0)^2  +  K3 (r - r0)^3  +  K4 (r - r0)^4
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = r0 (distance)
    -  coeff2 = K2 (energy/distance^2)
    -  coeff3 = K3 (energy/distance^3)
    -  coeff4 = K4 (energy/distance^4)
    -
    -  4 coeffs are listed in data file - cannot be set in input script
    -
    -
    -

    -Angles

    -

    -The style of angle potential is specified in the input command file.

    -

    -(1) harmonic

    -
    -
    -  E = K (theta - theta0)^2
    -
    -  theta = radians (computed by LAMMPS)
    -
    -  coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
    -  coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
    -
    -  2 coeffs are listed in data file or set in input script
    -
    -
    -

    -(2) class2

    -
    -
    -  E = K2 (theta - theta0)^2 +  K3 (theta - theta0)^3 + 
    -       K4 (theta - theta0)^4
    -
    -  theta = radians (computed by LAMMPS)
    -
    -  coeff1 = theta0 (degrees) (converted to radians within LAMMPS)
    -  coeff2 = K2 (energy/radian^2)
    -  coeff3 = K3 (energy/radian^3)
    -  coeff4 = K4 (energy/radian^4)
    -
    -  4 coeffs are listed in data file - cannot be set in input script
    -
    -
    -

    -(3) charmm

    -
    -  (harmonic + Urey-Bradley)
    -
    -  E = K (theta - theta0)^2 + K_UB (r_13 - r_UB)^2
    -
    -  theta = radians (computed by LAMMPS)
    -  r_13 = distance (computed by LAMMPS)
    -
    -  coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
    -  coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
    -  coeff3 = K_UB (energy/distance^2)
    -  coeff4 = r_UB (distance)
    -
    -  4 coeffs are listed in data file or set in input script
    -
    -
    -

    -(4) cosine

    -
    -  E = K (1 + cos(theta))
    -
    -  theta = radians (computed by LAMMPS)
    -
    -  coeff1 = K (energy)
    -
    -  1 coeff is listed in data file or set in input script
    -
    -
    -

    -Dihedrals

    -

    -The style of dihedral potential is specified in the input command -file. IMPORTANT NOTE for all these dihedral styles: in the LAMMPS -force field the trans position = 180 degrees, while in some force -fields trans = 0 degrees.

    - -

    -(1) harmonic

    -
    -
    -  E = K [1 + d * cos (n*phi) ]
    -
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = K (energy)
    -  coeff2 = d (+1 or -1)
    -  coeff3 = n (1,2,3,4,6)
    -
    -  Additional cautions when comparing to other force fields:
    -
    -  some force fields reverse the sign convention on d so that
    -    E = K [1 - d * cos(n*phi)]
    -  some force fields divide/multiply K by the number of multiple
    -    torsions that contain the j-k bond in an i-j-k-l torsion
    -  some force fields let n be positive or negative which 
    -    corresponds to d = 1,-1
    - 
    -  3 coeffs are listed in data file or set in input script
    -
    -

    -(2) class2

    -
    -
    -  E = SUM(n=1,3) { K_n [ 1 - cos( n*Phi - Phi0_n ) ] }
    -
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = K_1 (energy)
    -  coeff2 = Phi0_1 (degrees) (converted to radians within LAMMPS)
    -  coeff3 = K_2 (energy)
    -  coeff4 = Phi0_2 (degrees) (converted to radians within LAMMPS)
    -  coeff5 = K_3 (energy)
    -  coeff6 = Phi0_3 (degrees) (converted to radians within LAMMPS)
    -
    -  6 coeffs are listed in data file - cannot be set in input script
    -
    -

    -(3) multiharmonic

    -
    -
    -  E = SUM(n=1,5) { A_n * cos(Phi)^(n-1) }
    -
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = A_1
    -  coeff2 = A_2
    -  coeff3 = A_3
    -  coeff4 = A_4
    -  coeff5 = A_5
    -
    -  5 coeffs are listed in data file or set in input script
    -
    -

    -(4) charmm

    -
    -(harmonic + 1-4 interactions)
    -
    -  E = K [1 + cos (n*phi + d) ]
    -
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = K (energy)
    -  coeff2 = n (1,2,3,4,6)
    -  coeff3 = d (0 or 180 degrees) (converted to radians within LAMMPS)
    -  coeff4 = weighting factor to turn on/off 1-4 neighbor nonbond interactions 
    -
    -  coeff4 weight values are from 0.0 to 1.0 and are used to multiply the
    -  energy and force interaction (both Coulombic and LJ) between the 2 atoms
    -  weight of 0.0 means no interaction
    -  weight of 1.0 means full interaction
    -
    -  must be used with the special bonds charmm command 
    -  "special bonds 0 0 0") which shuts off the uniform special bonds and
    -  allows pair-specific special bonds for the 1-4 interactions to be
    -  defined in the data file
    -
    -  LAMMPS assumes that all 1-4 interaction distances, which are
    -  generally less than 6 Angstroms, are less than the smallest of the
    -  inner LJ and Coulombic cutoffs, which are generally at least 8
    -  Angstroms.
    - 
    -  4 coeffs are listed in data file or set in input script
    -
    -
    -

    -Impropers

    -

    -The style of improper potential is specified in the input command file.

    -

    -(1) harmonic

    -
    -
    -  E = K (chi - chi0)^2
    -
    -  chi = radians (computed by LAMMPS)
    -
    -  coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
    -  coeff2 = chi0 (degrees) (converted to radians within LAMMPS)
    -
    -  2 coeffs are listed in data file or set in input script
    -
    -

    -(2) cvff

    -
    -
    -  E = K [1 + d * cos (n*chi) ]
    -
    -  chi = radians (computed by LAMMPS)
    -
    -  coeff1 = K (energy)
    -  coeff2 = d (+1 or -1)
    -  coeff3 = n (0,1,2,3,4,6)
    -
    -  3 coeffs are listed in data file or set in input script
    -
    -

    -(3) class2

    -
    -
    -  same formula, coeffs, and meaning as "harmonic" except that LAMMPS
    -    averages all 3 angle-contributions to chi
    -  in class 2 this is called a Wilson out-of-plane interaction
    -
    -  2 coeffs are listed in data file - cannot be set in input script
    -
    -
    -

    -Class 2 Force Field

    -

    -If class 2 force fields are selected in the input command file, -additional cross terms are computed as part of the force field. All -class 2 coefficients must be set in the data file; they cannot be set -in the input script.

    -

    -Bond-Bond (computed within class 2 angles)

    -
    -
    -  E = K (r - r0) * (r' - r0')
    -
    -  r,r' = distance (computed by LAMMPS)
    -
    -  coeff1 = K (energy/distance^2)
    -  coeff2 = r0 (distance)
    -  coeff3 = r0' (distance)
    -
    -  3 coeffs are input in data file
    -
    -

    -Bond-Angle (computed within class 2 angles for each of 2 bonds)

    -
    -
    -  E = K_n (r - r0_n) * (theta - theta0)
    -
    -  r = distance (computed by LAMMPS)
    -  theta = radians (computed by LAMMPS)
    -
    -  coeff1 = K_1 (energy/distance-radians)
    -  coeff2 = K_2 (energy/distance-radians)
    -  coeff3 = r0_1 (distance)
    -  coeff4 = r0_2 (distance)
    -
    -  Note: theta0 is known from angle coeffs so don't need it specified here
    -
    -  4 coeffs are listed in data file
    -
    -

    -Middle-Bond-Torsion (computed within class 2 dihedral)

    -
    -
    -  E = (r - r0) * [ F1*cos(phi) + F2*cos(2*phi) + F3*cos(3*phi) ]
    -
    -  r = distance (computed by LAMMPS)
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = F1 (energy/distance)
    -  coeff2 = F2 (energy/distance)
    -  coeff3 = F3 (energy/distance)
    -  coeff4 = r0 (distance)
    -
    -  4 coeffs are listed in data file
    -
    -

    -End-Bond-Torsion (computed within class 2 dihedral for each of 2 bonds)

    -
    -
    -  E = (r - r0_n) * [ F1_n*cos(phi) + F2_n*cos(2*phi) + F3_n*cos(3*phi) ]
    -
    -  r = distance (computed by LAMMPS)
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = F1_1 (energy/distance)
    -  coeff2 = F2_1 (energy/distance)
    -  coeff3 = F3_1 (energy/distance)
    -  coeff4 = F1_2 (energy/distance)
    -  coeff5 = F2_3 (energy/distance)
    -  coeff6 = F3_3 (energy/distance)
    -  coeff7 = r0_1 (distance)
    -  coeff8 = r0_2 (distance)
    -
    -  8 coeffs are listed in data file
    -
    -

    -Angle-Torsion (computed within class 2 dihedral for each of 2 angles)

    -
    -
    -  E = (theta - theta0) * [ F1_n*cos(phi) + F2_n*cos(2*phi) + F3_n*cos(3*phi) ]
    -
    -  theta = radians (computed by LAMMPS)
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = F1_1 (energy/radians)
    -  coeff2 = F2_1 (energy/radians)
    -  coeff3 = F3_1 (energy/radians)
    -  coeff4 = F1_2 (energy/radians)
    -  coeff5 = F2_3 (energy/radians)
    -  coeff6 = F3_3 (energy/radians)
    -  coeff7 = theta0_1 (degrees) (converted to radians within LAMMPS)
    -  coeff8 = theta0_2 (degrees) (converted to radians within LAMMPS)
    -
    -  8 coeffs are listed in data file
    -
    -

    -Angle-Angle-Torsion (computed within class 2 dihedral)

    -
    -
    -  E = K (theta - theta0) * (theta' - theta0') * (phi - phi0)
    -
    -  theta,theta' = radians (computed by LAMMPS)
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = K (energy/radians^3)
    -  coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
    -  coeff3 = theta0' (degrees) (converted to radians within LAMMPS)
    -
    -  Note: phi0 is known from dihedral coeffs so don't need it specified here
    -
    -  3 coeffs are listed in data file
    -
    -
    -

    -Bond-Bond-13-Torsion (computed within class 2 dihedral)

    -
    -
    -  E = K * (r1 - r10)*(r3 - r30)
    -
    -  r1,r3 = bond lengths of bonds 1 and 3 (computed by LAMMPS)
    -
    -  coeff1 = K (energy/distance^2)
    -  coeff2 = r10 (distance) = equilibrium bond length for bond 1
    -  coeff3 = r30 (distance) = equilibrium bond length for bond 3
    -
    -  K is only non-zero for aromatic rings 
    -
    -  3 coeffs are listed in data file
    -
    -
    -

    -Angle-Angle (computed within class 2 improper for each of 3 pairs of -angles)

    -
    -
    -  E = K_n (theta - theta0_n) * (theta' - theta0_n')
    -
    -  theta,theta' = radians (computed by LAMMPS)
    -
    -  coeff1 = K_1 (energy/radians^2)
    -  coeff2 = K_2 (energy/radians^2)
    -  coeff3 = K_3 (energy/radians^2)
    -  coeff4 = theta0_1 (degrees) (converted to radians within LAMMPS)
    -  coeff5 = theta0_2 (degrees) (converted to radians within LAMMPS)
    -  coeff6 = theta0_3 (degrees) (converted to radians within LAMMPS)
    -
    -  6 coeffs are listed in data file
    -
    - - diff --git a/doc/html/2001/history.html b/doc/html/2001/history.html deleted file mode 100644 index 25336f701592cf3a1ee5dc0fc91112254e9f1713..0000000000000000000000000000000000000000 --- a/doc/html/2001/history.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - -

    -History of LAMMPS

    -

    -Return to top-level of LAMMPS documentation.

    -

    -This is a brief history of features added to each version of LAMMPS.

    -
    -

    -LAMMPS 2001 - November 2001

    - -
    -

    -LAMMPS 99 - June 99

    - -
    -

    -Version 5.0 - Oct 1997

    - -
    -

    -Version 4.0 - March 1997

    - -
    -

    -Version 3.0 - March 1996

    - -
    -

    -Version 2.0 - October 1995

    - -
    -

    -Version 1.1 - February 1995

    - -
    -

    -Version 1.0 - January 1995

    - - - diff --git a/doc/html/2001/input_commands.html b/doc/html/2001/input_commands.html deleted file mode 100644 index 6f7266f2ca4824c737b0990e486230da8a947df9..0000000000000000000000000000000000000000 --- a/doc/html/2001/input_commands.html +++ /dev/null @@ -1,2138 +0,0 @@ - - - - - - -

    -LAMMPS Input Commands

    -

    -Return to top-level of LAMMPS documentation.

    -

    -This page contains a complete list of valid LAMMPS commands which are -read-in from an input script. It will be easiest to understand if you -read it while looking at sample input scripts in the examples -directory.

    -

    -The script of input commands is read by LAMMPS, one line at a time. -Each command causes LAMMPS to take some action. Usually it simply -causes some internal variable(s) to be set. Or it may cause a data file -to be read in or a simulation to be run. Note that most commands have -default settings, which means you only need use a particular command if -you do not want the default setting.

    -

    -Each LAMMPS input script contains exactly one "read data" (or -"read restart") command which defines the problem to be -simulated. All other commands can be split into three categories: (a) -commands that (if used) must appear before the "read data" -command because they define settings needed to correctly read-in the -problem and allocate memory for it, (b) commands that must appear after -the "read data" command because they act on the specified -problem, and (c) commands that can appear either before or after the -"read data" command. Commands in category (c) are used before -the "read data" command if a default setting needs to be -changed before the problem description is read-in. They can be used -after the "read data" command if the user wishes to change a -setting before the next "run" or "minimize" command -is used. Other than these restrictions, commands can generally appear -in any order in the input script, although some commands require others -to have been previously specified.

    -

    -Each LAMMPS input script also contains one or more "run" or -"minimize" commands. These trigger an actual dynamics or -minimization computation to be done. Following a run, new commands from -categories (b) and (c) can be used to change various settings, and -additional "run" commands can then be used to continue the -previous simulation. LAMMPS continues to read successive lines from the -input script until the end-of-file is reached, which causes LAMMPS to -terminate.

    -

    -This page gives examples of each command, some of which can be -specified in multiple styles. Typically the commands take one or more -parameters. The keyword for each command should begin in the leftmost -column and all characters in the command and its parameters should be -in lower-case (except the word NULL or characters in filenames). -Parameters can be separated by arbitrary numbers of spaces and/or tabs, -so long as the command fits on one line. The remainder of the line -after the last parameter is ignored.

    -

    -The next section outlines the structure of a LAMMPS input script. The -final section gives a detailed description of the commands in -alphabetic order, each with its associated parameters and default -settings.

    - -
    -

    -Structure of a LAMMPS input script

    -

    -Any line starting with a # is a comment. -Comments can appear anywhere in the input script.

    -

    -(1) Initialization settings (must appear -before "read data" or "read restart")

    -

    -(2) Optional Settings (can appear before -and/or after "read data" or "read restart")

    -

    -(3) Read in a Problem via a "read data" or "read restart" command

    -

    -(4) Optional Settings (same as (2))

    -

    -(5) Problem Settings (must appear after "read data" or -"read restart")

    - -

    -(6) Perform a Simulation via a "run" or "minimize" command

    -

    -Repeat (4), (5), and (6) as desired ...

    -
    -

    -Initialization Settings

    -

    -(if used, must appear before "read data" or "read -restart" command)

    -
    -units                  real
    -
    -extra memory           2.0 1.5 2.0 2.5
    -dimension              3
    -processor grid         10 10 10
    -periodicity            0 0 0
    -slab volume            3.0
    -newton flag            3
    -true flag              0
    -maximum cutoff         10.0
    -mixing style           geometric
    -restart version        5
    -
    -
    -

    -Optional Settings

    -

    -(if used, can appear before and/or after "read data" or -"read restart" command)

    -
    -neighbor               2.0 1 1 10 1
    -
    -nonbond style          none
    -nonbond style          lj/cutoff 10.0 0
    -nonbond style          lj/smooth 8.0 10.0
    -nonbond style          lj/shift 10.0 0
    -nonbond style          soft 2.5
    -nonbond style          class2/cutoff 10.0 0
    -nonbond style          lj/charmm 15.0 15.1
    -
    -coulomb style          none
    -coulomb style          cutoff 10.0
    -coulomb style          smooth 8.0 10.0
    -coulomb style          ewald 10.0 1.0E-4
    -coulomb style          pppm 10.0 1.0E-4
    -coulomb style          charmm/switch 15.0 15.1
    -coulomb style          debye 10.0 0.5
    -
    -bond style             none
    -bond style             harmonic
    -bond style             fene/standard
    -bond style             fene/shift
    -bond style             nonlinear
    -bond style             class2
    -
    -angle style            none
    -angle style            harmonic
    -angle style            class2
    -angle style            charmm
    -angle style            cosine
    -
    -dihedral style         none
    -dihedral style         harmonic
    -dihedral style         mutliharmonic
    -dihedral style         class2
    -dihedral style         charmm
    -
    -improper style         none
    -improper style         harmonic
    -improper style         cvff
    -improper style         class2
    -
    -
    -

    -Read in a Problem

    -
    -read data              data.lj
    -read restart           restart.100000
    -
    -
    -

    -Velocity Creation

    -

    -(if used, must appear after "read data" or "read -restart" command)

    -
    -create group           types 1 3
    -create group           molecules 200 300
    -create group           region 0.0 1.0 0.0 1.0 INF 1.0
    -create group           remainder
    -
    -rotation zero          1
    -
    -create temp            uniform 300.0 12345678
    -create temp            gaussian 300.0 12345678
    -create temp            velocity 0.0 0.0 0.0
    -
    -
    -

    -Force Field Parameters

    -

    -(if used, must appear after "read data" or "read -restart" command)

    -
    -nonbond coeff          1 2 1.0 3.45 10.0         (nonbond style lj/cutoff)
    -nonbond coeff          1 2 1.0 3.45 8.0 10.0     (nonbond style lj/smooth)
    -nonbond coeff          1 2 1.0 3.45 2.0 10.0     (nonbond style lj/shift)
    -nonbond coeff          1 2 1.0 30.0 2.5          (nonbond style soft)
    -nonbond coeff          1 2 1.0 3.45 10.0         (nonbond style class2/cutoff)
    -nonbond coeff          1 2 1.0 3.45 1.0 3.45     (nonbond style lj/charmm)
    -
    -special bonds          amber
    -special bonds          0.0 0.0 0.5
    -
    -pppm mesh              32 32 64
    -pppm order             5
    -dielectric             1.0
    -
    -bond coeff             1 100.0 3.45              (bond style harmonic)
    -bond coeff             1 30.0 1.5 1.0 1.0        (bond style fene/standard )
    -bond coeff             1 30.0 1.5 1.0 1.0 0.2    (bond style fene/shift)
    -bond coeff             1 28.0 0.748308 0.166667  (bond style nonlinear)
    -angle coeff            1 30.0 108.0              (angle style harmonic)
    -angle coeff            1 30.0 108.0 30.0 2.5     (angle style charmm)
    -angle coeff            1 30.0                    (angle style cosine)
    -dihedral coeff         1 10.0 1 3                (dihedral style harmonic)
    -dihedral coeff         1 2.0 2.0 2.0 2.0 2.0     (dihedral style multiharmonic)
    -dihedral coeff         1 2.0 5 180.0 0.5         (dihedral style charmm)
    -improper coeff         1 20.0 0.0                (improper style harmonic)
    -improper coeff         1 20.0 10.0               (improper style cvff)
    -
    -
    -

    -Constraints

    -

    -(if used, must appear after "read data" or "read -restart" command)

    -
    -fix style              none
    -fix style              1 setforce 0.0 NULL 0.0
    -fix style              1 addforce 1.0 0.0 0.0
    -fix style              1 aveforce 1.0 0.0 0.0
    -fix style              1 rescale 300.0 300.0 100 20.0 0.5
    -fix style              1 hoover/drag 50.0 50.0 0.001
    -fix style              1 langevin 50.0 50.0 0.01 12345 1 1 1
    -fix style              1 springforce 10.0 NULL NULL 1.0
    -fix style              1 dragforce 10.0 -5.0 NULL 2.0 1.0
    -fix style              1 shake 3 0.001 100
    -
    -assign fix             1 atom 200
    -assign fix             1 molecule 50
    -assign fix             1 type 2
    -assign fix             1 region 0.0 1.0 INF INF 0.0 1.0
    -assign fix             1 bondtype 4
    -assign fix             1 angletype 18 10
    -assign fix             1 remainder
    -
    -
    -

    -Ensemble Control

    -

    -(if used, must appear after "read data" or "read -restart" command)

    -
    -temp control           none
    -temp control           rescale 300.0 300.0 100 20.0 0.5
    -temp control           replace 300.0 300.0 50 12345678
    -temp control           langevin 50.0 50.0 0.01 123456
    -temp control           nose/hoover 300.0 300.0 0.01
    -
    -press control          none
    -press control          nose/hoover xyz 0.0 0.0 0.001
    -press control          nose/hoover xz 0.0 10.0 5.0 5.0 0.0 10.0 0.001
    -press control          nose/hoover yz NULL NULL 5.0 5.0 0.0 10.0 0.001
    -press control          nose/hoover aniso 0.0 0.0 0.0 0.0 1.0 10.0 0.001
    -press control          nose/hoover aniso 0.0 0.0 0.0 0.0 NULL NULL 0.001
    -
    -volume control         none
    -volume control         linear x 0.0 10.0
    -volume control         linear y -1.0 15.0
    -volume control         linear z -10.0 10.0
    -
    -
    -

    -Output Control

    -

    -(if used, must appear after "read data" or "read -restart" command)

    -
    -thermo flag            50
    -thermo style           0
    -
    -dump atoms             100 filename
    -dump velocities        100 filename
    -dump forces            100 filename
    -
    -restart                1000 1 filename
    -restart                1000 2 file1 file2
    -diagnostic             diffusion 100 filename 3 1.0 -1.0 2.5
    -
    -
    -

    -Integrator Settings

    -

    -(if used, must appear after "read data" or "read -restart" command)

    -
    -timestep               1.0
    -respa                  2 2 4
    -reset timestep         0
    -
    -
    -

    -Minimizer Settings

    -

    -(if used, must appear after "read data" or "read -restart" command)

    -
    -min style              hftn
    -min flag               10
    -
    -
    -

    -Perform a Simulation

    -
    -run                    10000
    -minimize               0.0001 9999 50000
    -
    -
    -
    -

    -Alphabetic Listing of Commands:

    -
    -

    -angle coeff

    - -
    -coeffs:   harmonic
    -               (1) K (energy units)
    -               (2) theta (degrees)
    -          class2
    -               currently not enabled for "angle coeff" command
    -               must be specified in data file (see "read data" command)
    -          charmm
    -               (1) K (energy units)
    -               (2) theta (degrees)
    -               (3) K_UB (energy/distance^2)
    -               (4) r_UB (distance)
    -          cosine
    -               (1) K (energy units)
    -
    -define (or override) angle coefficients for an individual angle type
    -use appropriate number of coeffs for a particular style
    -see force_fields.html for meaning of coefficients for each style
    -these coefficients can also be set in data file 
    -  by a "Angle Coeffs" entry, the most recently defined 
    -  coefficients are used
    -cannot use this command before a "read data" or "read restart" is performed,
    -  because memory is not yet allocated for the necessary arrays
    -
    -
    -

    -angle style

    - -
    -define style of angle interactions to use for all 3-body terms
    -must be used before the "read data" command (if not using the
    -  default) to tell the program how to read the "Angle Coeffs" entry
    -  in the data file
    -can be used after the "read data" command to change the style to none
    -coefficients for all angle types must be defined in the data (or restart)
    -  file by a "Angle Coeffs" entry or by "angle coeff"
    -  commands before a run is performed
    -
    -Default = harmonic
    -
    -
    -

    -assign fix

    - -
    -styles:
    -
    - -
    -coeffs:  atom
    -               (1) global atom #
    -         molecule
    -               (1) molecule #
    -         type
    -               (1) atom type
    -         region
    -               (1) lower x bound of region
    -               (2) upper x bound of region
    -               (3) lower y bound of region
    -               (4) upper y bound of region
    -               (5) lower z bound of region
    -               (6) upper z bound of region
    -         bondtype
    -               (1) bond type
    -         angletype
    -               (1) angle type
    -               (2) bond type used within that angle
    -         remainder
    -               no other parameters required
    -
    -assign a group of atoms or a bond type to a particular constraint
    -use appropriate number of coeffs for a particular style
    -the constraint itself must first be defined by a 
    -  "fix style" command
    -multiple groups of atoms or bond types can be assigned to the same constraint
    -the bondtype option can only be assigned to a "fix style" of "shake",
    -  multiple bondtypes can be SHAKEn, so long as the size of clusters of
    -  atoms does not exceed the limit described in the "fix style" command
    -the angletype option can only be assigned to a "fix style" of "shake",
    -  only a single angletype can be SHAKEn, it is designed to be used
    -  in conjunction with "fix style bondtype" to make clusters of size 3
    -  entirely rigid (e.g. water)
    -the angletype option enables an additional check when SHAKE constraints
    -  are computed: if a cluster is of size 3 and both bonds in
    -  the cluster are of a bondtype specified by the 2nd paramter of
    -  angletype, then the cluster is SHAKEn with an additional angle
    -  constraint that makes it rigid, using the equilibrium angle appropriate
    -  to the specified angletype
    -IMPORTANT NOTE: the angletype option has one additional affect, namely
    -  that no angle forces for any angle of type angletype are computed
    -  (since it is assumed those angles will be frozen by being SHAKEn), thus
    -  it will likely cause unintended behavior if the bonds in some atom pairs
    -  within angles of type angletype do not have the appropriate bondtype,
    -  since they will not be SHAKEn but neither will the angle force by computed
    -for style region, a coeff of INF means + or - infinity (all the way 
    -  to the boundary)
    -an atom can be assigned to multiple constraints, the contraints will be
    -  applied in the reverse order they are assigned to that atom
    -  (e.g. each timestep, the last fix assigned to an atom will be applied 
    -  to it first, then the next-to-last applied second, etc)
    -
    -
    -
    -

    -bond coeff

    - -
    -coeffs:   harmonic
    -               (1) K (energy units)
    -               (2) r0 (distance units)
    -          fene/standard
    -               (1) k for FENE portion (energy/distance^2 units)
    -               (2) r0 for FENE portion (distance units)
    -               (3) epsilon for LJ portion (energy units)
    -               (4) sigma for LJ portion (distance units)
    -          fene/shift
    -               (1) k for FENE (energy/distance^2 units)
    -               (2) r0 for FENE after shift is performed (distance units)
    -               (3) epsilon for LJ (energy units)
    -               (4) sigma for LJ after shift is performed (distance units)
    -               (5) delta shift distance (distance units)
    -          nonlinear
    -               (1) epsilon (energy units)
    -               (2) r0 (distance units)
    -               (3) lamda (distance units)
    -          class2
    -               currently not enabled for "bond coeff" command
    -               must be specified in data file (see "read data" command)
    -
    -define (or override) bond coefficients for an individual bond type
    -use appropriate number of coeffs for a particular style
    -see force_fields.html for meaning of coefficients for each style
    -these coefficients can also be set in data file 
    -  by a "Bond Coeffs" entry, the most recently defined 
    -  coefficients are used
    -cannot use this command before a "read data" or "read restart" is performed,
    -  because memory is not yet allocated for the necessary arrays
    -
    -
    -

    -bond style

    - -
    -define style of bond interactions to use between all bonded atoms
    -must be used before the "read data" command (if not using the
    -  default) to tell the program how to read the "Bond
    -  Coeffs" entry in the data file (if one exists)
    -can be used after the "read data" command to change the style,
    -  in this case "bond coeff" commands must also be used to set new
    -  coefficients for each bond type (unless the new style is "none")
    -coefficients for all bond types must be defined in the data (or restart)
    -  file by a "Bond Coeffs" entry or by "bond coeff"
    -  commands before a run is performed
    -
    -Default = harmonic
    -
    -
    -

    -comments

    -
    -blank lines are ignored
    -lines starting with a # are echoed into the log file
    -for commands, everything on a line after the last parameter is ignored
    -
    -
    -

    -coulomb style

    - -
    -styles:
    -
    - -
    -coeffs:  none
    -               no other parameters required
    -         cutoff
    -               (1) cutoff distance (distance units)
    -         smooth
    -               (1) inner cutoff (distance units)
    -               (2) outer cutoff (distance units)
    -         ewald
    -               (1) cutoff distance for near-field portion (distance units)
    -               (2) accuracy criterion
    -         pppm
    -               (1) cutoff distance for near-field portion (distance units)
    -               (2) accuracy criterion
    -         charmm/switch
    -               (1) inner cutoff (distance units)
    -               (2) outer cutoff (distance units)
    -         debye
    -               (1) cutoff distance (distance units)
    -               (2) kappa (inverse distance units)
    -
    -use appropriate number of coeffs for a particular style
    -normally this command should be used before "read data" or "read restart"
    -  (if simulating a charged system) to tell LAMMPS how big a force cutoff
    -  is being used, the "maximum cutoff" command can also serve this
    -  purpose
    -restart files do not store "coulomb style" choice or cutoff, so
    -  this should be specified in the input script when running from a restart
    -  file
    -this command can also be used after "read data" or "read restart" to
    -  change the style of Coulomb interactions or the cutoff
    -if simulated system has no charges, should set "coulomb style none" to
    -  prevent LAMMPS from doing useless nonbond work, LAMMPS will set
    -  this for you and issue a warning
    -cutoff distance can be smaller or larger than simulation box dimensions
    -accuracy criterion means "one part in value" - e.g. 1.0E-4
    -Ewald and PPPM accuracy criterion are used in conjunction with cutoff
    -  to partition work between short-range and long-range routines
    -accuracy criterion effectively determines how many k-space vectors are used
    -  to approximate the energy and forces
    -for PPPM, accuracy criterion determines mesh spacing (see "particle mesh"
    -  command)
    -3-d periodic boundary conditions are normally used in conjunction with
    -  Ewald and PPPM, see "slab volume" command for 2-d Ewald/PPPM
    -cannot use any Coulomb styles other than none with nonbond style = lj/shift or
    -  nonbond style = soft
    -Coulomb style = smooth should be used with nonbond style = lj/smooth,
    -  and both should use same inner and outer cutoffs
    -nonbond style = lj/charmm should be used with coulomb style = charmm/switch
    -for smooth and charmm/switch styles, outer cutoff must be > inner cutoff
    -for smooth and charmm/switch styles, atom pairs less than the inner cutoff
    -  distance use usual Coulomb, pairs between inner and outer are smoothed,
    -  and the potential goes to 0.0 at the outer cutoff
    -for smooth style, force is continuously differentiable everywhere
    -for debye style, an exp(-kappa*r) screening is added to the Coulombic
    -  interaction
    -
    -Default = cutoff 10.0   for real units
    -          cutoff 2.5    for lj units
    -
    -
    -

    -create group

    - -
    -styles:
    -
    - -
    -coeffs:  types
    -               (1) lowest atom type
    -               (2) highest atom type
    -         molecules
    -               (1) lowest molecule ID
    -               (2) highest molecule ID
    -         region
    -               (1) lower x bound of region
    -               (2) upper x bound of region
    -               (3) lower y bound of region
    -               (4) upper y bound of region
    -               (5) lower z bound of region
    -               (6) upper z bound of region
    -         remainder
    -               no other parameters required
    -       
    -used with "create temp" commmand to initialize velocities of atoms
    -by default, the "create temp" command initializes the velocities of all atoms,
    -  this command limits the initialization to a group of atoms
    -this command is only in force for the next "create temp" command, any
    -  subsequent "create temp" command is applied to all atoms (unless the
    -  "create group" command is used again)
    -for style types, only atoms with a type such that lo-type <= type <= hi-type
    -  will be initialized by "create temp"
    -for style types, lo-type can equal hi-type if just want to specify one type
    -for style molecules, only atoms belonging to molecules with an ID # such 
    -  that lo-ID <= type <= hi-ID will be initialized by "create temp"
    -for style molecules, lo-ID can equal hi-ID if just want to specify one molecule
    -for style region, only atoms within the specified spatial region
    -  will be initialized by "create temp"
    -for style region, a coeff of INF means + or - infinity (all the way 
    -  to the boundary)
    -for style remainder, only previously uninitialized atoms
    -  will be initialized by "create temp"
    -
    -
    -

    -create temp

    - -
    -styles: 
    -
    - -
    -coeffs:  uniform
    -               (1) target T (temperature units)
    -               (2) random # seed (0 < seed <= 8 digits)
    -         gaussian
    -               (1) target T (temperature units)
    -               (2) random # seed (0 < seed <= 8 digits)
    -         velocity
    -               (1) x velocity component (velocity units)
    -               (2) y velocity component (velocity units)
    -               (3) z velocity component (velocity units)
    -
    -initialize velocities of atoms to a specified temperature
    -use appropriate number of coeffs for a particular style
    -cannot be done before a data or restart file is read
    -by default, velocities are created for all atoms - this can be overridden
    -  by first using a "create group" command
    -for uniform and Gaussian styles velocities are created in 
    -  processor-independent fashion - is slower but gives the same initial 
    -  state independent of # of processors
    -for uniform and Gaussian styles the momentum of the initialized atoms is
    -  also zeroed, but only if all atoms are being initialized 
    -for uniform and Gaussian styles, RN are generated with Park/Miller RNG
    -for velocity style in 2-d simulations, still specify z velocity component,
    -  even though it is ignored
    -
    -
    -

    -diagnostic

    - -
    -call a user-defined diagnostic routine every this many timesteps
    -this command can be used multiple times to call different routines
    -  at different frequencies, that use different parameters, and that
    -  send output to different files
    -value of 0 for 2nd parameter means never call this particular routine
    -this command causes any previous file associated with this user routine
    -  to be closed
    -new filename can exist, will be overwritten
    -if the file name specified is "none", then no file is opened
    -each routine that is added to diagnostic.f and enabled with a
    -  "diagnostic" command will be called at the beginning and end of
    -  each "run" and every so many timesteps during the run
    -see *** comments in diagnostic.f for changes that must be made in 
    -  that file to enable user diagnostics, LAMMPS must then be re-compiled
    -  and re-linked
    -see the diagnostic.f file for further information on how to create
    -  routines that operate on internal LAMMPS data, do their own file output,
    -  perform different operations (e.g. setup and clean-up) depending
    -  on when they are called, etc
    -the optional 5th-9th parameters are stored as internal LAMMPS variables
    -  which can be accessed by the diagnostic routine
    -
    -
    -

    -dielectric

    -
    -set dielectric constant to this value
    -
    -Default = 1.0
    -
    -
    -

    -dihedral coeff

    - -
    -coeffs:   harmonic
    -               (1) K (energy units)
    -               (2) d (+1 or -1)
    -               (3) n (1,2,3,4,6)
    -          multiharmonic
    -               (1) A_1 (energy units)
    -               (2) A_2 (energy units)
    -               (3) A_3 (energy units)
    -               (4) A_4 (energy units)
    -               (5) A_5 (energy units)
    -          class2
    -               currently not enabled for "dihedral coeff" command
    -               must be specified in data file (see "read data" command)
    -          charmm
    -               (1) K (energy units)
    -               (2) n (1,2,3,4,6)
    -               (3) d (0 or 180 degrees) (converted to radians within LAMMPS)
    -               (4) weighting factor to turn on/off 1-4 neighbor nonbond interactions
    -
    -define (or override) dihedral coefficients for an individual dihedral type
    -use appropriate number of coeffs for a particular style
    -see force_fields.html for meaning of coefficients for each style
    -these coefficients can also be set in data file 
    -  by a "Dihedral Coeffs" entry, the most recently defined 
    -  coefficients are used
    -cannot use this command before a "read data" or "read restart" is performed,
    -  because memory is not yet allocated for the necessary arrays
    -
    -
    -

    -dihedral style

    - -
    -define style of dihedral interactions to use for all 4-body terms
    -must be used before the "read data" command (if not using the
    -  default) to tell the program how to read the "Dihedral
    -  Coeffs" entry in the data file
    -can be used after the "read data" command to change the style to none
    -coefficients for all dihedral types must be defined in the data (or restart)
    -  file by a "Dihedral Coeffs" entry or by "dihedral coeff"
    -  commands before a run is performed
    -
    -Default = harmonic
    -
    -
    -

    -dimension

    - -
    -for a 2-d run, assumes all z-coords are set to 0.0 in "read data" or
    -  "read restart" files and program creates no z velocities
    -this command sets the processor grid to default values for 2-d or 3-d
    -  so must be used before "processor grid" command
    -must be set before data or restart file is read
    -
    -Default = 3
    -
    -
    -

    -dump atoms

    - -
    -dump all atom positions to a file every this many timesteps
    -  (every this many iteration when the minimizer is invoked)
    -when rRESPA is enabled, this is steps of outermost loop (longest timesteps)
    -positions are also dumped at the start and end of each run
    -when dumped during minimization, all dumps will have the same timestamp
    -  since the timestep does not change during minimization
    -value of 0 means never dump
    -any previous file is closed
    -new filename can exist, will be overwritten
    -atom positions in dump file are in "box" units (0.0 to 1.0) in each dimension
    -IMPORTANT NOTE: due to the way periodic boundary conditions are enforced 
    -  (only when neighbor lists are rebuilt), atom coords appearing in the dump
    -  file can be slightly outside the specified box
    -
    -Default = 0
    -
    -
    -

    -dump forces

    - -
    -dump all atom forces to a file every this many timesteps
    -  (every this many iteration when the minimizer is invoked)
    -when rRESPA is enabled, this is steps of outermost loop (longest timesteps)
    -forces are also dumped at the start and end of each run
    -when dumped during minimization, all dumps will have the same timestamp
    -  since the timestep does not change during minimization
    -any previous file is closed
    -new filename can exist, will be overwritten
    -value of 0 means never dump
    -
    -Default = 0
    -
    -
    -

    -dump velocities

    - -
    -dump all atom velocities to a file every this many timesteps
    -when rRESPA is enabled, this is steps of outermost loop (longest timesteps)
    -velocities are also dumped at the start and end of every run
    -any previous file is closed
    -new filename can exist, will be overwritten
    -value of 0 means never dump
    -
    -Default = 0
    -
    -
    -

    -extra memory

    - -
    -
    -factors that affect how much extra memory is allocated when a problem is setup
    -factor of 1.0 means no padding (use exactly what LAMMPS estimates is
    -  needed), factor of 2.0 means 2x longer arrays, etc
    -typically don't need to change default settings unless LAMMPS tells you
    -  to "boost" some factor at run-time
    -final section of log file lists optimal settings for these parameters,
    -  i.e. the job could have been run with those "extra memory" settings
    -  and would have used minimal memory
    -must be set before data or restart file is read
    -
    -Default = 1.5 for all 4 parameters
    -
    -
    -

    -fix style

    - -
    -styles:
    -
    - -
    -coeffs:  none
    -               no other parameters required (use "none" as 1st parameter)
    -         setforce
    -                (1) x component of set force (in force units)
    -                (2) y component of set force (in force units)
    -                (3) z component of set force (in force units)
    -         addforce
    -                (1) x component of added force (in force units)
    -                (2) y component of added force (in force units)
    -                (3) z component of added force (in force units)
    -         aveforce
    -                (1) x comp of added average force per atom (in force units)
    -                (2) y comp of added average force per atom (in force units)
    -                (3) z comp of added average force per atom (in force units)
    -         rescale
    -                (1) desired T at beginning of run
    -                (2) desired T at end of run
    -                (3) check for rescaling every this many timesteps
    -                (4) T window outside of which velocities will be rescaled
    -                (5) fractional amount (0.0 to 1.0) of rescaling to perform
    -         hoover/drag
    -                (1) desired T at beginning of run
    -                (2) desired T at end of run
    -                (3) damping constant for drag (roughly inverse time units)
    -         langevin
    -                (1) desired T at beginning of run
    -                (2) desired T at end of run
    -                (3) Langevin damping parameter (inverse time units)
    -                (4) random seed to use for white noise (0 < seed <= 8 digits)
    -                (5) 0/1 = off/on x dimension
    -                (6) 0/1 = off/on y dimension
    -                (7) 0/1 = off/on z dimension
    -         springforce
    -                (1) x position of spring origin
    -                (2) y position
    -                (3) z position
    -                (4) force constant k (so that k*distance = force units)
    -         dragforce
    -                (1) x position to drag atom towards
    -                (2) y position
    -                (3) z position
    -                (4) force magnitude f (in force units)
    -                (5) delta outside of which to apply force (in distance units)
    -         shake
    -                (1) max # of SHAKE iterations within each atom cluster
    -                (2) SHAKE tolerance (accuracy of one part in tolerance)
    -                (3) print bond statistics every this many steps (0 = never)
    -
    -define a constraint
    -cannot skip a constraint number, all must be used before a run is performed
    -use appropriate number of coeffs for a particular style
    -which atoms or bonds the constraint will affect is set by the
    -  "assign fix" command
    -all of the constraints (except for rescale) are applied every timestep
    -all specified temperatures are in temperature units
    -for style setforce, a coeff of NULL means do not alter that force component
    -for style aveforce, average force on the group of fixed atoms is computed,
    -  then new average force is added in and actual force on each atom is set
    -  to new total value -> has effect of applying same force to entire group
    -  of atoms
    -thermostatting constraints (rescale, hoover/drag, langevin) cannot be used in
    -  conjuction with global "temp control", since they conflict and will
    -  cause atom velocities to be reset twice
    -thermostatting constraints (rescale, hoover/drag, langevin) cannot be used
    -  when performing a minimization
    -if multiple Langevin constraints are specified the Marsaglia RNG will
    -  only use the last RNG seed specified for initialization
    -meaning of rescale and Langevin thermostatting coefficients is same as in 
    -  "temp control" command
    -for rescale style, it can be used as a coarse temperature rescaler,
    -  for example "rescale 200.0 300.0 100 10.0 1.0" will ramp the temperature
    -  up during the simulation, resetting it to the target temperatue as needed
    -for rescale style, it can be used to create an instantaneous
    -  drag force that slowly rescales the temperature without oscillation,
    -  for example "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep) 
    -  the temperature to be 300.0, the time frame over which this occurs
    -  will become longer as the last parameter is made smaller
    -for hoover/drag style, the drag force accumulates over time so some
    -  oscillation in temperature can occur, for example
    -  "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep)
    -  the temperature to be 300.0, the time frame over which the oscillations
    -  occur will become longer as the last parameter is made smaller
    -style springforce is designed to be applied to an entire group of atoms
    -  en masse (e.g. an umbrella force on an entire molecule)
    -for springforce style, the center of mass r0 of the group of atoms is computed,
    -  then a restoring force = -k*(r-r0)*mass/masstotal is applied to each 
    -  atom in the group where mass = mass of the atom and masstotal = mass of
    -  all the atoms in the group - thus "k" should represent the total
    -  force on the group of atoms (not per atom)
    -for springforce style, a xyz position of NULL means do not include that
    -  dimension in the distance or force computation
    -for dragforce style, apply a drag force of magnitude f to each atom in the
    -  group in the direction (r-r0) where r0 = (x,y,z) - do not apply the force if
    -  the atom is within a distance delta of r0
    -for dragforce style, a xyz position of NULL means do not include that
    -  dimension in the distance or force computation
    -for shake style, certain bonds in the system are constrained every timestep
    -  to be at their equilibrium length, this is done by applying a SHAKE-like
    -  constraint to the forces on the atoms so that their position at the next
    -  timestep will preserve the atom separations
    -for shake style, only atoms in small clusters can be constrained -
    -  e.g. water molecules, CH3 groups, but not the C backbone of a
    -  long polymer chain - a cluster is defined as a central atom
    -  connected to others in the cluster by constrained bonds connected
    -  together by constrained bonds - the max size of such a cluster is
    -  4 atoms to enable easier parallelization
    -for shake style, the max iteration count need not be large (e.g. 3) since
    -  iterations are only done within a cluster and converge quickly
    -see the "minimize" command for what constraints are allowed for use
    -  with the minimizer
    -see the "respa" command for how constraints are applied when rRESPA
    -  timestepping is enabled
    -
    -Default = none
    -
    -
    -

    -improper coeff

    - -
    -coeffs:   harmonic
    -               (1) K (energy units)
    -               (2) chi (degrees)
    -          cvff
    -               (1) K (energy units)
    -               (2) d (+1 or -1)
    -               (3) n (0,1,2,3,4,6)
    -          class2
    -               currently not enabled for "improper coeff" command
    -               must be specified in data file (see "read data" command)
    -
    -define (or override) improper coefficients for an individual improper type
    -use appropriate number of coeffs for a particular style
    -see force_fields.html for meaning of coefficients for each style
    -these coefficients can also be set in data file 
    -  by a "Improper Coeffs" entry, the most recently defined 
    -  coefficients are used
    -cannot use this command before a "read data" or "read restart" is performed,
    -  because memory is not yet allocated for the necessary arrays
    -
    -
    -

    -improper style

    - -
    -define style of improper interactions to use for all trigonal centers
    -in class2 case, dictates that angle-angle terms be included for all
    -  trigonal and tetrahedral centers
    -angle for harmonic is improper torsion, angle for class2 is Wilson out-of-plane
    -must be used before the "read data" command (if not using the
    -  default) to tell the program how to read the "Improper
    -  Coeffs" entry in the data file
    -can be used after the "read data" command to change the style to none
    -coefficients for all improper types must be defined in the data (or restart)
    -  file by a "Improper Coeffs" entry or by "improper coeff"
    -  commands before a run is performed
    -
    -Default = harmonic
    -
    -
    -

    -maximum cutoff

    -
    -specifies the longest force cutoff that will be used in any runs
    -this value is used by LAMMPS to accurately allocate memory
    -  for neighbor arrays
    -if the value is inaccurate (e.g. the command is not used), it is not an
    -  error, but LAMMPS may allocate insufficient memory for neighbor lists
    -this command is not typically needed if the "nonbond style" and "coulomb style"
    -  commands are used before the "read data" or "read restart" command, since
    -  they specify the appropriate cutoffs
    -an exception to this is if a short cutoff is used initially,
    -  but a longer cutoff will be used for a subsequent run (in the same
    -  input script), in this case the "maximum cutoff" command should be
    -  used to insure enough memory is allocated for the later run
    -note that a restart file contains nonbond cutoffs (so it is not necessary
    -  to use a "nonbond style" command before "read restart"), but LAMMPS
    -  still needs to know what the maximum cutoff will be before the
    -  restart file is read
    -must be set before data or restart file is read
    -
    -Default = cutoffs for nonbond and Coulomb styles
    -
    -
    -

    -min flag

    -
    -write out minimization info every this many iterations
    -value of 0 means never write
    -
    -Default = 1
    -
    -
    -

    -min style

    - -
    -choose minimization algorithm to use when "minimize" command is performed
    -currently, the hftn style is the only option available
    -
    -Default = hftn
    -
    -
    -

    -minimize

    - -
    -perform an energy minimization of the atomic coordinates of the system
    -uses algorithm selected with "min style" command
    -minimize commands can be interspersed with "run" commands
    -  to alternate between dynamics and relaxation of the system
    -minimization stops if any of 3 criteria are met:
    -  (1) largest force component < stopping tolerance
    -  (2) # of iterations > max iterations
    -  (3) # of force and energy evaluations > max evaluations
    -output from the minimizer is specified by the "dump atoms", "dump forces",
    -  and "restart" commands
    -when using constraints with the minimizer, fixes are
    -  applied when atoms move except for the following
    -fixes associated with temperature control are not allowed
    -  (rescale, hoover/drag, langevin)
    -the minimizer does not invoke the "fix style shake" contraints on
    -  bond lengths
    -the minimizer does not invoke pressure control or volume control settings
    -for good convergence, should specify use of smooth nonbond force fields 
    -  that have continuous second derivatives, e.g. set "coulomb style" to
    -  "smooth" or "pppm", set "nonbond style" to "lj/smooth" or 
    -  use a long cutoff
    -
    -
    -

    -mixing style

    - -
    -styles:
    -
    - -
    -determine the kind of mixing rule that is applied to generate nonbond
    -  coefficients for interactions between type i and type j atoms
    -mixing rules are applied only when nonbond coeffs are input in a "read data" file
    -for nonbond style "soft", only epsilons (prefactor A) are input - they are
    -  always mixed geometrically, regardless of mixing style setting
    -for nonbond style "lj/charmm", mixing style is always arithmetic,
    -  regardless of mixing style setting
    -must be set before data file is read
    -
    -Default = geometric for all nonbond styles except
    -          arithmetic for nonbond style lj/charmm
    -          sixthpower for nonbond style class2/cutoff
    -
    -
    -

    -neighbor

    - -
    -factors that affect how and when neighbor lists are constructed
    -the binning style is almost always faster than the N^2 style
    -skin must be large enough that all atoms needed for bond
    -  interactions are also acquired by interprocessor communication
    -last parameter incurs extra checking and communication to test against
    -  skin thickness, but may mean neighbor list is created less often
    -when rRESPA is run, the 3rd and 4th parameters refer to the
    -  nonbond (short-range) timestepping
    -normally this command should be used before the data or restart file is read,
    -  since the skin distance is used to estimate memory needed for
    -  neighbor lists
    -this command can also be used after the "read data" or "read restart" command
    -  to change the style of neighbor list construction, but if the
    -  skin distance is changed it can cause LAMMPS to run out of neighbor
    -  list memory, the "maximum cutoff" command can be used to avoid this
    -  problem
    -
    -Default = 2.0 1 1 10 1   for real units
    -          0.3 1 1 10 1   for lj units
    -
    -
    -

    -newton flag

    -
    -turn off or on Newton's 3rd law for bond and non-bond force computation
    -
    - -
    -no Newton's 3rd law means more force computation and less communication
    -yes Newton's 3rd law means less force computation and more communication
    -which choice is faster is problem dependent on N, # of processors, 
    -  and cutoff length(s)
    -expect for round-off errors, setting this flag should not affect answers, 
    -  only run time
    -must be set before data or restart file is read
    -
    -Default = 3
    -
    -
    -

    -nonbond coeff

    - -
    -coeffs: lj/cutoff
    -               (1) epsilon (energy units)
    -               (2) sigma (distance units)
    -               (3) cutoff (distance units)
    -        lj/smooth
    -               (1) epsilon (energy units)
    -               (2) sigma (distance units)
    -               (3) inner cutoff (distance units)
    -               (4) outer cutoff (distance units)
    -        lj/shift
    -               (1) epsilon (energy units)
    -               (2) sigma (distance units)
    -               (3) delta shift distance (distance units)
    -               (4) cutoff (distance units)
    -        soft
    -               (1) prefactor A at start of run (energy units)
    -               (2) prefactor A at end of run (energy units)
    -               (3) cutoff (distance units)
    -        class2/cutoff
    -               (1) epsilon (energy units)
    -               (2) sigma (distance units)
    -               (3) cutoff (distance units)
    -        lj/charmm
    -               (1) epsilon (energy units)
    -               (2) sigma (distance units)
    -               (3) epsilon for 1-4 interactions (energy units)
    -               (4) sigma for 1-4 interactions (distance units)
    -
    -define (or override) nonbond coefficients for an individual atom type pair
    -use appropriate number of coeffs for a particular style
    -1st atom type must be <= 2nd atom type
    -all cutoffs are in global units, not local sigma units
    -  (e.g. in reduced units a setting of "lj/cutoff 1.0 1.2 2.5" means a 
    -  cutoff of 2.5, not 1.2*2.5)
    -turn off a particular type pair interaction by setting the
    -  cutoff to 0.0 (both cutoffs to zero for lj/smooth option)
    -for soft style, prefactor A is ramped from starting value to
    -  ending value during run
    -these coefficients (except the cutoffs) can also be set in data file 
    -  by a "Nonbond Coeffs" entry and associated mixing rules, the cutoffs can
    -  be set (globally) via the "nonbond style" command, the most
    -  recently defined coefficients/cutoffs are used
    -cannot use this command before a "read data" or "read restart" is performed,
    -  because memory is not yet allocated for the necessary arrays
    -
    -
    -

    -nonbond style

    - -
    -styles: 
    -
    - -
    -coeffs:  none
    -               no other parameters required
    -         lj/cutoff
    -               (1) cutoff (distance units)
    -               (2) offset flag (0 or 1)
    -         lj/smooth
    -               (1) inner cutoff (distance units)
    -               (2) outer cutoff (distance units)
    -         lj/shift
    -               (1) cutoff (distance units)
    -               (2) offset flag (0 or 1)
    -         soft
    -               (1) cutoff (distance units)
    -         class2/cutoff
    -               (1) cutoff (distance units)
    -               (2) offset flag (0 or 1)
    -         lj/charmm
    -               (1) inner cutoff (distance units)
    -               (2) outer cutoff (distance units)
    -
    -define style of pairwise nonbond interactions to use between all atom types
    -use appropriate number of coeffs for a particular style
    -this is separate from charge interactions (see "coulomb style" command)
    -normally this command should be used before "read data"
    -  to tell LAMMPS how big a force cutoff is being used, the 
    -  "maximum cutoff" command can also serve this purpose
    -when running from a restart file, the restart file contains the nonbond
    -  style and nonbond cutoffs (but not the offset flag), so it is often
    -  not necessary to use a "nonbond style" command before "read restart",
    -  however LAMMPS still needs to know what the maximum cutoff will be
    -  before the restart file is read, see "maximum cutoff" command
    -  for more details
    -this command can also be used after "read data" or "read restart" to
    -  change the style of nonbond interactions and/or the cutoff
    -cutoff distance can be smaller or larger than simulation box dimensions
    -nonbond style determines how many nonbond coefficients the program expects to
    -  find in a "Nonbond Coeffs" entry in the data file or when using the 
    -  "nonbond coeff" command, thus the style must be set (if not using default)
    -  before using the "read data" command (if the data file contains a 
    -  "Nonbond Coeffs" entry) or a "nonbond coeff" command
    -coefficients for all atom type pairs must be defined in data (or restart)
    -  file by a "Nonbond Coeffs" entry or by "nonbond coeffs" commands before
    -  a run is performed
    -this command sets the cutoff(s) for all type pair interactions, thus
    -  overriding any previous settings by a "nonbond coeff" command or
    -  that were read in from a data or restart file
    -for lj/cutoff, lj/shift, class2/cutoff styles, 
    -  offset flag only affects printout of thermodynamic energy
    -  (not forces or dynamics), determines whether offset energy 
    -  is added in to LJ potential to make value at cutoff = 0.0,
    -  flag = 0 -> do not add in offset energy,
    -  flag = 1 -> add in offset energy 
    -for lj/smooth and lj/charmm styles, outer cutoff must be > inner cutoff
    -for lj/smooth and lj/charmm styles, atom pairs less than the inner cutoff
    -  distance use straight LJ, pairs between inner and outer use a smoothed LJ,
    -   and the potential goes to 0.0 at the outer cutoff
    -for lj/smooth and lj/charmm styles, energy and forces are continuous at inner
    -   cutoff and go smoothly to zero at outer cutoff
    -for lj/shift and soft styles, must set "coulomb style" to "none"
    -for lj/charmm style, must set "coulomb style" to "charmm/switch", "pppm",
    -   or "ewald"
    -for lj/shift style, delta shift distances for each atom pair are set by
    -  "Nonbond Coeffs" entry in data file or by "nonbond coeffs" command
    -for soft style, values of the prefactor "A", which is ramped from one
    -  value to another during the run, are set by "Nonbond Coeffs" entry
    -  in data file or by "nonbond coeffs" command
    -
    -Default = lj/cutoff 10.0 0   for real units
    -          lj/cutoff 2.5 0    for lj units
    -
    -
    -

    -periodicity

    - -
    -turn on/off periodicity in any of three dimensions
    -used in inter-particle distance computation and when particles move
    -  to map (or not map) them back into periodic box
    -for a 2-d run (see "dimension" command), 3rd parameter must be 
    -  specified, but doesn't matter if it is 0 or 1
    -must be set before data or restart file is read
    -
    -Default = 0 0 0 (periodic in all dimensions)
    -
    -
    -

    -pppm mesh

    - -
    -specify the mesh size used by "coulomb style pppm"
    -mesh dimensions that are power-of-two are fastest for FFTs, but any sizes
    -  can be used that are supported by native machine libraries
    -this command is optional - if not used, a default
    -  mesh size will be chosen to satisfy accuracy criterion - if used, the
    -  specifed mesh size will override the default
    -
    -
    -

    -pppm order

    -
    -specify the order of the interpolation function that is used by "coulomb
    -  style pppm" to map particle charge to the particle mesh
    -order is roughly equivalent to how many mesh points a point charge
    -  overlaps onto in each dimension
    -
    -Default = 5
    -
    -
    -

    -press control

    - -
    -styles:
    -
    - -
    -coupling:
    -
    - -
    -coeffs:   none
    -               no other parameters required
    -          nose/hoover xyz
    -               (1) desired P at beginning of run
    -               (2) desired P at end of run
    -          nose/hoover xy or yz or xz or aniso
    -               (1) desired Px at beginning of run (or NULL, see below)
    -               (2) desired Px at end of run
    -               (3) desired Py at beginning of run
    -               (4) desired Py at end of run
    -               (5) desired Pz at beginning of run
    -               (6) desired Pz at end of run
    -               (7) frequency constant for volume adjust (inverse time units)
    -
    -enable constant pressure simulations
    -all specified pressures are in pressure units
    -any dimension being varied by pressure control must be periodic
    -for xyz coupling, all 3 dimensions expand/contract together uniformly
    -  using total scalar pressure as the driving force
    -for xy/yz/xz coupling, the 2 specified dimensions expand/contract together
    -  uniformly using pressure components averaged over those 2 dimensions
    -  as the driving force, the non-specified dimension will expand/contract
    -  independently using its pressure component as the driving force
    -for anisotropic, all 3 dimensions expand/contract independently using
    -  individual pressure components as the 3 driving forces
    -in all cases, the simulation box stays rectilinear (not Parinello-Rahman)
    -for dimensions coupled together, their specified P values should be the same
    -a non-coupled dimension (e.g. dimension z for xy option or any dimension
    -  for aniso option) can have 2 NULL values as specified pressures,
    -  which means apply no pressure control in that dimension (constant volume)
    -target pressure at intermediate points during a run is a ramped value
    -  between the beginning and ending pressure(s)
    -for nose/hoover style, frequency constant is like an inverse "piston" 
    -  mass which determines how rapidly the pressure fluctuates in response to a
    -  restoring force, large frequency -> small mass -> rapid fluctations
    -for nose/hoover style, units of frequency/damping constant are
    -  inverse time, so a value of 0.001 means relax in a timespan on the 
    -  order of 1000 fmsec (real units) or 1000 tau (LJ units)
    -IMPORTANT NOTE: the computation of P in LAMMPS does not include
    -  a long-range Van der Waals correction, this introduces a known
    -  error when performing constant P simulations since the correction
    -  factor changes as the box size varies
    -
    -Default = none
    -
    -
    -

    -processor grid

    - -
    -specify 3-d grid of processors to map to physical simulation domain
    -for 2-d problem, specify N by M by 1 grid
    -program will choose these values to best map processor grid to physical
    -  simulation box, only use this command if wish to override program choice
    -product of 3 parameters must equal total # of processors
    -must be set before data or restart file is read
    -
    -Default = none
    -
    -
    -

    -read data

    -
    -read the initial atom positions and bond info from the specified file
    -the format for the data file is specified in the file data_format
    -if a "Velocities" entry is not in data file, all atom velocities
    -  are set to 0.0
    -if a "Coeffs" entry is in data file, the appropriate "style" command
    -  command must be used first (unless default setting is used) to tell 
    -  LAMMPS how many coefficients to expect
    -a "Nonbond Coeffs" entry only contains one set of coefficients for each
    -  atom type, after being read-in mixing rules are applied to 
    -  compute the cross-type coefficients, see the "mixing style" command
    -  and data_format file for more information
    -
    -
    -

    -read restart

    -
    -read atom and force-field information from specified file
    -allows continuation of a previous run
    -file is binary to enable exact restarts
    -do not have to restart on same # of processors, but can only do exact
    -  restarts on same # of processors due to roundoff
    -when restart file is read, warnings are issued if certain parameters
    -  in the restart file do not match current settings (e.g. newton flag,
    -  dimension, periodicity, units) - this usually indicates an error
    -the restart file stores the "nonbond style" and many-body styles and
    -  coefficients and cutoffs, so these do not have to be re-specified in the
    -  input script, unless you want to change them
    -the restart file does not store "coulomb style" choice or cutoff, so
    -  this should be re-specified in the input script
    -the restart file stores the constraint assignments for each atom generated
    -  by using the "assign fix" command, it does NOT store the constraint
    -  parameters themselves, so they must be re-specified with "fix style"
    -  commands after the restart file is read - one exception to this is that
    -  SHAKE constraints (bondtype or angletype) are not stored with the
    -  atoms, so they must be re-specified when performing a restart with both
    -  the "fix style" and "assign fix" commands
    -
    -
    -

    -reset timestep

    -
    -explicitly reset the timestep to this value
    -the "read data" and "read restart" commands set the timestep to zero
    -  and the file value respectively, so this should be done after those commands
    -
    -
    -

    -respa

    - -
    -factors that affect sub-cycling of force calculations within rRESPA hierarchy
    -bonded intramolecular forces are calculated every innermost sub-timestep
    -bonded 3- and 4-body forces are computed every 1st parameter sub-timesteps
    -short-range nonbond pairwise forces (LJ, Coulombic) are computed every 
    -  (2nd parameter * 1st parameter) sub-timesteps
    -long-range (Ewald, PPPM) forces are computed every 
    -  (3rd parameter * 2nd parameter * 1st parameter) sub-timesteps
    -the timestepping for all 3 inner loops (bond, 3/4-body, nonbond) is performed
    -  as sub-cycling within the long-range timestepping loop
    -the fastest (innermost) timestep size is set by the "timestep" command
    -when running rRESPA, all input commands that specify numbers of timesteps
    -  (e.g. run, thermo flag, restart, etc) refer to the outermost loop
    -  of long-range timestepping
    -the only exception to this rule is the "neighbor" command, where the timestep
    -  parameters refer to the short-range (nonbond) timestepping
    -when using constraints (via the "fix style" and "assign fix" commands)
    -  with rRESPA, the setforce and aveforce constraints are applied at every
    -  level of the hierarchy (whenever forces are computed), the other
    -  constraints are applied only at the short-range (nonbond) level
    -when using "temp control langevin" with rRESPA, thermostatting is applied
    -  at the short-range (nonbond) level
    -rRESPA cannot be used with "fix style shake"
    -setting all 3 parameters to 1 turns off rRESPA
    -
    -Default = 1 1 1 (no rRESPA)
    -
    -
    -

    -restart

    - -
    -create a restart file every this many timesteps
    -value of 0 means never create one
    -if the style is 1, restart information will be written to files
    -  named filename.timestep and no 4th parameter is needed
    -if the style is 2, restart information will be written alternately to files
    -  given by the 3rd and 4th parameters, so only 2 restart files ever exist
    -when the minimizer is invoked this command means create a restart file
    -  at the end of the minimization with the filename filename.timestep.min
    -a restart file stores atom and force-field information in binary form
    -allows program to restart from where it left off (see "read restart" commmand)
    -
    -Default = 0
    -
    -
    -

    -restart version

    -
    -tell LAMMPS that a restart file from an older version of LAMMPS will be read-in
    -  via a "read restart" command
    -this command is necessary because older restart files have a different format
    -valid settings are 2001 (LAMMPS 2001), 2000 (LAMMPS 2000),
    -  6 (LAMMPS 99) or 5 (LAMMPS 5.0)
    -restart files from earlier versions of LAMMPS are not readable without
    -  some source code modifications
    -restart files are always written out in the current-version format
    -  regardless of this setting
    -this must be set before the "read restart" command is executed
    -
    -Default = current version of code = 2001
    -
    -
    -

    -rotation zero

    -
    -zero out angular momentum when creating velocities for a group of atoms
    -value of 0 means don't zero out, value of 1 means zero it
    -
    -Default = 0
    -
    -
    -

    -run

    -
    -run or continue dynamics for specified # of timesteps
    -when rRESPA is enabled, this is steps of outermost loop (longest timesteps)
    -must have performed "read data" or "read restart"
    -  command first
    -
    -
    -

    -slab volume

    -
    -invoke 2-d slab Ewald/PPPM and set extended slab volume via this ratio
    -2-d slab Ewald/PPPM can be used for a system that is periodic in x-y,
    -  but not in z
    -this ratio dampens inter-slab interactions in the z dimension 
    -  by providing empty volume between slabs and removing
    -  dipole inter-slab interactions
    -ratio value is the size of the extended dimension in z divided by
    -  the actual dimension in z
    -recommended ratio value is 3.0: larger is inefficient, smaller
    -  risks unwanted inter-slab interactions
    -when 2-d slab Ewald/PPPM is used, z-direction periodicity must be
    -  turned off - e.g. periodicity 0 0 1
    -when 2-d slab Ewald/PPPM is used, user must prevent particle migration
    -  beyond initial z-bounds, typically by providing walls
    -2-d slab Ewald/PPPM can only be used only with electrostatically
    -  neutral systems
    -2-d slab Ewald/PPPM can only be used (for the moment) with constant
    -  volume simulations (no pressure control) - the pressure computation
    -  (printed as thermodynamic data) does not include any slab correction
    -  factor or a volume correction for the extended z direction
    -must be set before data or restart file is read
    -
    -Default = none (normal 3-D Ewald/PPPM)
    -
    -
    -

    -special bonds

    - -
    -weighting factors to turn on/off nonbond interactions of atom pairs that
    -  are "close" in the molecular topology
    -1-2 neighbors are a pair of atoms connected by a bond
    -1-3 neighbors are a pair of atoms 2 hops away, etc.
    -weight values are from 0.0 to 1.0 and are used to multiply the
    -  energy and force interaction (both Coulombic and LJ) between the 2 atoms
    -weight of 0.0 means no interaction
    -weight of 1.0 means full interaction
    -can either specify a single keyword (charmm, amber) or can give
    -  3 numeric values
    -using the charmm keyword means use the CHARMM force field
    -  settings of 0.0 0.0 0.0, requiring that pair-specific 1-4 interactions
    -  be read in individually (see "dihedral style charmm" command)
    -using the amber keyword means use the AMBER force field
    -  settings of 0.0 0.0 N, where N = 0.5 for Van der Waals 1-4 interactions
    -  and 1.0/1.2 for Coulombic 1-4 interactions
    -
    -Default = CHARMM force field values of 0.0 0.0 0.0
    -
    -
    -

    -temp control

    - -
    -styles:  
    -
    - -
    -coeffs:  none
    -               no other parameters required
    -         rescale
    -               (1) desired T at beginning of run
    -               (2) desired T at end of run
    -               (3) check for rescaling every this many timesteps
    -               (4) T window outside of which velocities will be rescaled
    -               (5) fractional amount (0.0 to 1.0) of rescaling to perform
    -         replace
    -               (1) desired T at beginning of run
    -               (2) desired T at end of run
    -               (3) do Gaussian replacement every this many timesteps
    -               (4) random # seed to use for replacement (0 < seed <= 8 digits)
    -         langevin
    -               (1) desired T at beginning of run
    -               (2) desired T at end of run
    -               (3) Langevin damping parameter (inverse time units)
    -               (4) random seed to use for white noise (0 < seed <= 8 digits)
    -         nose/hoover
    -               (1) desired T at beginning of run
    -               (2) desired T at end of run
    -               (3) frequency constant for friction force (inverse time units)
    -
    -enable constant temperature simulations
    -use appropriate number of coeffs for a particular style
    -all specified temperatures are in temperature units
    -target temperature at intermediate points during run is a ramped value
    -  between the beginning and ending temperatures
    -for rescale style, temperature is controlled by explicitly rescaling
    -  velocities towards the target temperature
    -for rescale style, rescaling is only done if current temperature is
    -  beyond the target temperature plus or minus the window value
    -for rescale style, the amount of rescaling is contfolled by the fractional
    -  amount (0.0 to 1.0), e.g. a value of 0.5 means set the velocities
    -  to halfway between the current and target temperature
    -for rescale style, it can be used as a coarse temperature rescaler,
    -  for example "rescale 200.0 300.0 100 10.0 1.0" will ramp the temperature
    -  up during the simulation, resetting it to the target temperatue as needed
    -for rescale style, it can be used to create an instantaneous
    -  drag force that slowly rescales the temperature without oscillation,
    -  for example "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep) 
    -  the temperature to be 300.0, the time frame over which this occurs
    -  will become longer as the last parameter is made smaller
    -for replace style, Gaussian RNs from the Marsaglia RNG are used
    -for langevin style, uniform RNs from the Marsaglia RNG are used
    -for replace and langevin styles, the seed is used to initialize the
    -  Marsaglia RNG, on successive runs the RNG will just continue on
    -for replace and langevin styles, generated RNs depend on # of processors
    -  so will not get same answers independent of # of processors
    -for replace and langevin styles, RNG states are not saved in restart file,
    -  so cannot do an exact restart
    -for langevin style, damping parameter means small value -> less damping
    -for nose/hoover style, frequency constant is like an inverse 
    -  "piston" mass which determines how rapidly the temperature 
    -  fluctuates in response to a restoring force, large frequency -> 
    -  small mass -> rapid fluctations
    -for nose/hoover style, cannot use a end-of-run T of 0.0, must be finite
    -for langevin and nose/hoover styles, units of frequency/damping constant are
    -  inverse time, so a value of 0.01 means relax in a timespan on the 
    -  order of 100 fmsec (real units) or 100 tau (LJ units)
    -
    -Default = none
    -
    -
    -

    -thermo flag

    -
    -print thermodynamic info to screen and log file every this many timesteps
    -value of 0 means never print
    -
    -Default = 0
    -
    -
    -

    -thermo style

    -
    -determines format of thermodynamic output to screen and log file
    -
    - -
    -Default = 0
    -
    -
    -

    -timestep

    -
    -timestep size for MD run (time units)
    -when rRESPA is enabled, the timestep size is for the innermost (bond) loop
    -
    -Default = 1.0
    -
    -
    -

    -true flag

    -
    -read atom positions (see "read data" command) and dump atom positions
    -  (see "dump atoms" command) in one of 2 formats
    -
    - -
    -for each dimension, box count of "n" means add that many box lengths
    -  to get "true" un-remapped position, "n" can be positive, negative, or zero
    -must be set before data or restart file is read
    -
    -Default = 0
    -
    -
    -

    -units

    - -
    -set units to one of two options for all subsequent input parameters
    -
    -option real = conventional units:
    -
    - -
    -option lj = LJ reduced units:
    -
    - -
    -for LJ units, LAMMPS sets global epsilon,sigma,mass all equal to 1.0
    -subsequent input numbers in data and command file must be in these units
    -output numbers to screen and log and dump files will be in these units
    -this command (if it appears) must be the first command (aside from
    -  comments) in the input script
    -must be set before data or restart file is read
    -
    -Default = real
    -
    -
    -

    -volume control

    - -
    -styles:
    -
    - -
    -enable volume changes (density changes) during a simulation
    -specified box boundaries are in distance units
    -each dimension is controlled separately
    -dimensions not specified by a "volume control" command can be left
    -  alone (constant volume or nonperiodic) or controlled by
    -  a "press control" command
    -any dimension being varied by volume control must be periodic
    -the lo/hi values are the desired global simulation box boundaries at
    -  the end of the simulation run
    -at each timestep, the box is expanded/contracted uniformly from its initial
    -  lo/hi values to the specified ending lo/hi values
    -initial lo/hi values are specified in the data or restart file or 
    -  inherited from the end of the previous run
    -at each timestep, all atom coordinates are also scaled to the new box
    -
    -Default = none
    -
    - - diff --git a/doc/html/2001/units.html b/doc/html/2001/units.html deleted file mode 100644 index c2ddf14300889f5ccb82d8fe3cac73068322ef8f..0000000000000000000000000000000000000000 --- a/doc/html/2001/units.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - -

    -LAMMPS Units

    -

    -Return to top-level LAMMPS documentation.

    -

    -This file describes the units associated with many of the key variables -and equations used inside the LAMMPS code. Units used for input command -parameters are described in the input_commands file. The input command -"units" selects between conventional and Lennard-Jones units. -See the force_fields file for more information on units for the force -field parameters that are input from data files or input scripts.

    -

    -Conventional units:

    - -

    -LJ reduced units:

    - -
    -

    -This listing of variables assumes conventional units; to convert to LJ -reduced units, simply substitute the appropriate term from the list -above. E.g. x is in sigmas in LJ units. Per-mole in any of the units -simply means for 6.023 x 10^23 atoms.

    -

    -

    -
    -Meaning        Variable        Units
    -
    -positions      x               Angstroms
    -velocities     v               Angstroms / click (see below)
    -forces         f               Kcal / (mole - Angstrom)                
    -masses         mass            gram / mole
    -charges        q               electron units (-1 for an electron)
    -                                 (1 e.u. = 1.602 x 10^-19 coul)
    -
    -time           ---             clicks (1 click = 48.88821 fmsec)
    -timestep       dt              clicks
    -input timestep dt_in           fmsec
    -time convert   dtfactor        48.88821 fmsec / click
    -
    -temperature     t_current       degrees K
    -                t_start
    -                t_stop
    -input damping   t_freq_in       inverse fmsec
    -internal temp   t_freq          inverse clicks
    -  damping
    -
    -dielec const    dielectric      1.0 (unitless)
    -Boltmann const  boltz           0.001987191 Kcal / (mole - degree K)
    -
    -virial          virial[xyz]     Kcal/mole = r dot F
    -pressure factor pfactor         68589.796 (convert internal to atmospheres)
    -internal        p_current       Kcal / (mole - Angs^3)
    -  pressure      p_start
    -                p_stop
    -input press     p_start_in      atmospheres
    -                p_stop_in
    -output press    log file        atmospheres
    -input damping   p_freq_in       inverse time
    -internal press  p_freq          inverse clicks
    -  damping
    -
    -pot eng         e_potential     Kcal/mole
    -kin eng         e_kinetic       Kcal/mole
    -eng convert     efactor         332.0636 (Kcal - Ang) / (q^2 - mole)
    -                                (convert Coulomb eng to Kcal/mole)
    -
    -LJ coeffs       lja,ljb         Kcal-Angs^(6,12)/mole
    -
    -bond            various         see force_fields file
    -  parameters    2,3,4-body
    -                terms
    -
    - - diff --git a/doc/html/99/README.html b/doc/html/99/README.html deleted file mode 100644 index 528c1e161debec02bf6c11115be0b1520350b270..0000000000000000000000000000000000000000 --- a/doc/html/99/README.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - -

    -LAMMPS

    -

    -LAMMPS = Large-scale Atomic/Molecular Massively Parallel Simulator

    -

    -This is the documentation for the LAMMPS 99 version, written in F77, -which has been superceded by more current versions. See the LAMMPS WWW -Site for more information. -

    -LAMMPS is a classical molecular dynamics code designed for simulating -molecular and atomic systems on parallel computers using -spatial-decomposition techniques. It runs on any parallel platform that -supports the MPI message-passing library or on single-processor -workstations.

    -

    -LAMMPS 99 is copyrighted code that is distributed freely as -open-source software under the GNU Public License (GPL). See the -LICENSE file or www.gnu.org for more -details. Basically the GPL allows you as a user to use, modify, or -distribute LAMMPS however you wish, so long as any software you -distribute remains under the GPL. -

    -Features of LAMMPS 99 include:

    - -

    -More details about the code can be found here, -in the HTML-based documentation. There is also a conference paper -describing the parallel algorithms used in the code:

    -

    -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.

    -

    -LAMMPS was originally developed as part of a 5-way CRADA collaboration -between 3 industrial partners (Cray Research, Bristol-Myers Squibb, and -Dupont) and 2 DoE laboratories (Sandia National Laboratories and -Lawrence Livermore National Laboratories).

    -

    -The primary author of LAMMPS is Steve Plimpton, but others have written -or worked on significant portions of the code:

    - -

    -Other CRADA partners involved in the design and testing of LAMMPS are

    - -

    -LAMMPS is copyrighted code that is distributed freely as open-source -software under the GNU Public License (GPL). See the LICENSE file or -www.gnu.org for more details. -Basically the GPL allows you as a user to use, modify, or distribute -LAMMPS however you wish, so long as any software you distribute -remains under the GPL. -

    -If you have questions about LAMMPS, please contact me: -

    -
    -
    - Steve Plimpton -
    - sjplimp@sandia.gov -
    - www.cs.sandia.gov/~sjplimp -
    - Sandia National Labs -
    - Albuquerque, NM 87185 -
    -
    -

    -More Information about LAMMPS

    - -
  • - Basics - -
  • - how to make, run, and test LAMMPS with the example problems -
  • -
  • - Input Commands - -
  • - a complete listing of input commands used by LAMMPS -
  • -
  • - Data Format - -
  • - the data file format used by LAMMPS -
  • -
  • - Force Fields - -
  • - the equations LAMMPS uses to compute force-fields -
  • -
  • - Units - -
  • - the input/output and internal units for LAMMPS variables -
  • -
  • - Crib - -
  • - a one-line description of the variables used in LAMMPS -
  • -
  • - History - -
  • - a brief timeline of features added to LAMMPS -
  • -
  • - - diff --git a/doc/html/99/basics.html b/doc/html/99/basics.html deleted file mode 100644 index a9a9cb4a8ddc021827d84d4e66ccdcf4dc58ec83..0000000000000000000000000000000000000000 --- a/doc/html/99/basics.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - -

    -Basics of Using LAMMPS

    -

    -Return to top-level of LAMMPS documentation.

    - -
    -

    -Distribution

    -

    -When you unzip/untar the LAMMPS distribution you should have 5 -directories:

    - -
    -

    -Making LAMMPS

    -

    -The src directory contains the F77 and C source files for LAMMPS as -well as several sample Makefiles for different machines. To make LAMMPS -for a specfic machine, you simply type

    -

    -make machine

    -

    -from within the src directoy. E.g. "make sgi" or "make -t3e". This should create an executable named lmp_sgi or lmp_t3e.

    -

    -In the src directory, there is one top-level Makefile and several -low-level machine-specific files named Makefile.xxx where xxx = the -machine name. If a low-level Makefile exists for your platform, you do -not need to edit the top-level Makefile. However you should check the -system-specific section of the low-level Makefile to make sure the -various paths are correct for your environment. If a low-level Makefile -does not exist for your platform, you will need to add a suitable -target to the top-level Makefile. You will also need to create a new -low-level Makefile using one of the existing ones as a template. If you -wish to make LAMMPS for a single-processor workstation that doesn't -have an installed MPI library, you can specify the serial target which -uses a directory of MPI stubs to link against - e.g. "make -serial". You will need to make the stub library (see STUBS -directory) on your workstation before doing this.

    -

    -Note that the two-level Makefile system allows you to make LAMMPS for -multiple platforms. Each target creates its own object directory for -separate storage of its *.o files.

    -

    -There are a couple compiler switches of interest which can be specified -in the low-level Makefiles. If you use a F77FLAGS switch of -DSYNC then -synchronization calls will be made before the timing routines in -integrate.f. This may slow down the code slightly, but will make the -reported timings at the end of a run more accurate. The CCFLAGS setting -in the low-level Makefiles requires a FFT setting, for example --DFFT_SGI or -DFFT_T3E. This is for inclusion of the appropriate -machine-specific native 1-d FFT libraries on various platforms. -Currently, the supported machines and switches (used in fft_3d.c) are -FFT_SGI, FFT_DEC, FFT_INTEL, FFT_T3E, and FFT_FFTW. The latter is a -publicly available portable FFT library, FFTW, -which you can install on any machine. If none of these options is -suitable for your machine, please contact me, and we'll discuss how to -add the capability to call your machine's native FFT library.

    -
    -

    -Running LAMMPS

    -

    -LAMMPS is run by redirecting a file of input commands into it.

    -

    -lmp_sgi < in.lj

    -

    -lmp_t3e < in.lj

    -

    -The input file contains commands that specify the parameters for the -simulation as well as read other necessary files such as a data file -that describes the initial atom positions, molecular topology, and -force-field parameters. The input_commands - page describes all the possible commands that can be used. The data_format page describes the format of -the data file.

    -

    -LAMMPS can be run on any number of processors, including a single -processor. In principle you should get identical answers on any number -of processors and on any machine. In practice, numerical round-off can -cause slight differences and eventual divergence of dynamical -trajectories.

    -

    -When LAMMPS runs, if you get an error message to the screen about -"boosting" something, it means one (or more) data arrays are -not allocated large enough. Some of these errors are detected at setup, -others like neighbor list overflow may not occur until the middle of a -run. When the latter happens the program will either gracefully stop -(if all processors incurred the same error) or hang (with an error -message). Unfortunately in the current version of LAMMPS which uses -static memory allocation, changing the array size(s) requires you to -edit the appropriate line(s) in the param.h file and recompile the code.

    -

    -I've tried to be careful about detecting memory-overflow errors in -LAMMPS. If the code ever crashes or hangs without spitting out an error -message first, it's probably a bug, so let me know about it. Of course -this applies to problems due to algorithmic or parallelism issues, not -to physics mistkaes, like specifying too big a timestep or putting 2 -atoms on top of each other! One exception is that different MPI -implementations handle buffering of messages differently. If the code -hangs without an error message, it may be that you need to specify an -MPI setting or two (usually via an environment variable) to enable -buffering or boost the sizes of messages that can be buffered.

    -
    -

    -Examples

    -

    -There are several sample problems in the examples directory. All of -them use an input file (in.*) of commands and a data file (data.*) of -initial atomic coordinates and produce one or more output files. The -*.xxx.P files are outputs on P processors on a particular machine which -you can compare your answers to.

    -

    -(1) lj

    -

    -Simple atomic simulations of Lennard-Jones atoms of 1 or 3 species with -various ensembles -- NVE, NVT, NPT.

    -

    -(2) charge

    -

    -A few timestep simulation of a box of charged atoms for testing the -Coulombic options -- cutoff, Ewald, particle-mesh Ewald (PPPM).

    -

    -(3) class2

    -

    -A simple test run of phenyalanine using DISCOVER cff95 class II force -fields.

    -

    -(4) min

    -

    -An energy minimization of a transcription protein.

    -

    -(5) lc

    -

    -Small (250 atom) and large (6750 atom) simulations of liquid crystal -molecules with various Coulombic options and periodicity settings. The -large-system date file was created by using the "replicate" -tool on the small-system data file.

    -

    -(6) flow

    -

    -2-d flow of Lennard-Jones atoms in a channel using various contraint -options.

    -

    -(7) polymer

    -

    -Simulations of bead-spring polymer models with one chain type and two -chain types (different size monomers). The two-chain system also has -freely diffusing monomers. This illustrates use of the setup_chain -program in the tools directory and also how to use soft potentials to -untangle the initial configurations.

    -
    -

    -Other Tools

    -

    -The msi2lmp directory has source code for a tool that converts MSI -Discover files to LAMMPS input data files. This tool requires you to -have the Discover force-field description files in order to convert -those parameters to LAMMPS parameters. See the README file in the -msi2lmp directory for additional information.

    -

    -The tools directory has a C file called replicate.c which is useful for -generating new LAMMPS data files from existing ones - e.g. scaling the -atom coordinates, replicating the system to make a larger one, etc. See -the comments at the top of replicate.c for instructions on how to use -it.

    -

    -The tools directory has a F77 program called setup_lj (compile and link -with print.c) which can be used to generate a 3-d box of Lennard Jones -atoms (one or more atom types) like those used in examples/lj.

    -

    -The tools directory also has a F77 program called setup_chain.f -(compile and link with print.c) which can be used to generate random -initial polymer configurations for bead-spring models like those used -in examples/polymer. It uses an input polymer definition file (see -examples/polymer for two sample def files) that specfies how many -chains of what length, a random number seed, etc.

    - - diff --git a/doc/html/99/crib.html b/doc/html/99/crib.html deleted file mode 100755 index 0944980b17a081693c9e1b73a97137b6e6c154c2..0000000000000000000000000000000000000000 --- a/doc/html/99/crib.html +++ /dev/null @@ -1,629 +0,0 @@ - - - - - - -

    -Crib File

    -

    -Return to top-level of LAMMPS documentation.

    -

    -This file contains one-line descriptions of the key variables and -parameters used in LAMMPS. The variables are listed by their data type:

    - -

    -Note: this file is somewhat out-of-date for LAMMPS 99.

    -
    -

    -Parameters:

    - -
    -

    -Arrays (real):

    - -
    -

    -Arrays (integer):

    - -
    -

    -Variables (real):

    - -
    -

    -Variables (integer):

    - -
    -

    -Variables (character):

    - -

    -

    - - diff --git a/doc/html/99/data_format.html b/doc/html/99/data_format.html deleted file mode 100644 index 6a766e9f0f53f55bc1d252f0602e8ae5f7cffa8c..0000000000000000000000000000000000000000 --- a/doc/html/99/data_format.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - -

    -LAMMPS Data Format

    -

    -Return to top-level of LAMMPS documentation

    -

    -This file describes the format of the data file read into LAMMPS with -the "read data" command. The data file contains basic -information about the size of the problem to be run, the initial atomic -coordinates, molecular topology, and (optionally) force-field -coefficients. It will be easiest to understand this file if you read it -while looking at a sample data file from the examples.

    -

    -This page has 2 sections:

    - -
    -

    -Rules for formatting the Data File:

    -

    -Blank lines are important. After the header section, new entries are -separated by blank lines.

    -

    -Indentation and space between words/numbers on one line is not -important except that entry keywords (e.g. Masses, Bond Coeffs) must be -left-justified and capitalized as shown.

    -

    -The header section (thru box bounds) must appear first in the file, the -remaining entries (Masses, various Coeffs, Atoms, Bonds, etc) can come -in any order.

    -

    -These entries must be in the file: header section, Masses, Atoms.

    -

    -These entries must be in the file if there are a non-zero number of -them: Bonds, Angles, Dihedrals, Impropers, Bond Coeffs, Angle Coeffs, -Dihedral Coeffs, Improper Coeffs. Cross-term coefficients for a -particular kind of interaction (e.g. BondAngle Coeffs for bonds) must -appear if class II force fields have been turned on in the input -command file via a "style" command.

    -

    -The Nonbond Coeffs entry contains one line for each atom type. These -are the coefficients for an interaction between 2 atoms of the same -type. The cross-type coeffs are computed by the appropriate class I or -class II mixing rules, or can be specified explicitly using the -"nonbond coeff" command in the input command script. See the force_fields page for more information.

    -

    -The Nonbond Coeffs and Bond Coeffs entries are optional since they can -be specified from the input command script. This is not true if bond -style is set to class II since those coeffs can only be specified in -this data file.

    -

    -In the Atoms entry, the atoms can be in any order so long as there are -N entries. The 1st number on the line is the atom-tag (number from 1 to -N) which is used to identify the atom throughout the simulation. The -molecule-tag is a second identifier which is attached to the atom; it -can be 0, or a counter for the molecule the atom is part of, or any -other number you wish. The q value is the charge of the atom in -electron units (e.g. +1 for a proton). The xyz values are the initial -position of the atom. For 2-d simulations specify z as 0.0.

    -

    -The final 3 nx,ny,nz values on a line of the Atoms entry are optional. -LAMMPS only reads them if the "true flag" command is -specified in the input command script. Otherwise they are initialized -to 0 by LAMMPS. Their meaning, for each dimension, is that -"n" box-lengths are added to xyz to get the atom's -"true" un-remapped position. This can be useful in pre- or -post-processing to enable the unwrapping of long-chained molecules -which wrap thru the periodic box one or more times. The value of -"n" can be positive, negative, or zero. For 2-d simulations -specify nz as 0.

    -

    -For simulations with periodic boundary conditions, xyz are remapped -into the periodic box (from as far away as needed), so the initial -coordinates need not be inside the box. The nx,ny,nz values (as read in -or as set to zero by LAMMPS) are appropriately adjusted by this -remapping.

    -

    -The number of coefficients specified on each line of coefficient -entries (Nonbond Coeffs, Bond Coeffs, etc) depends on the -"style" of interaction. This is specified in the input -command script, unless the default is used. See the input_commands page for a description -of the various style options. The input_commands - and force_fields pages explain the -meaning and valid ranges for each of the coefficients.

    -
    -

    -Sample file with Annotations

    -

    -Here is a sample file with annotations in parenthesis and lengthy -sections replaced by dots (...). Note that the blank lines are -important in this example.

    -
    -
    -LAMMPS Description           (1st line of file)
    -
    -100 atoms         (this must be the 3rd line, 1st 2 lines are ignored)
    -95 bonds                (# of bonds to be simulated)
    -50 angles               (include these lines even if number = 0)
    -30 dihedrals
    -20 impropers
    -
    -5 atom types           (# of nonbond atom types)
    -10 bond types          (# of bond types = sets of bond coefficients)
    -18 angle types         
    -20 dihedral types      (do not include a bond,angle,dihedral,improper type
    -2 improper types             line if number of bonds,angles,etc is 0)
    -
    --0.5 0.5 xlo xhi       (for periodic systems this is box size,
    --0.5 0.5 ylo yhi        for non-periodic it is min/max extent of atoms)
    --0.5 0.5 zlo zhi       (do not include this line for 2-d simulations)
    -
    -Masses
    -
    -  1 mass
    -  ...
    -  N mass                           (N = # of atom types)
    -
    -Nonbond Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of atom types)
    -
    -Bond Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of bond types)
    -
    -Angle Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of angle types)
    -
    -Dihedral Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -Improper Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of improper types)
    -
    -BondBond Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of angle types)
    -
    -BondAngle Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of angle types)
    -
    -MiddleBondTorsion Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -EndBondTorsion Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -AngleTorsion Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -AngleAngleTorsion Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -BondBond13 Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of dihedral types)
    -
    -AngleAngle Coeffs
    -
    -  1 coeff1 coeff2 ...
    -  ...
    -  N coeff1 coeff2 ...              (N = # of improper types)
    -
    -Atoms
    -
    -  1 molecule-tag atom-type q x y z nx ny nz  (nx,ny,nz are optional -
    -  ...                                    see "true flag" input command)
    -  ...                
    -  N molecule-tag atom-type q x y z nx ny nz  (N = # of atoms)
    -
    -Bonds
    -
    -  1 bond-type atom-1 atom-2
    -  ...
    -  N bond-type atom-1 atom-2             (N = # of bonds)
    -
    -Angles
    -
    -  1 angle-type atom-1 atom-2 atom-3  (atom-2 is the center atom in angle)
    -  ...
    -  N angle-type atom-1 atom-2 atom-3  (N = # of angles)
    -
    -Dihedrals
    -
    -  1 dihedral-type atom-1 atom-2 atom-3 atom-4  (atoms 2-3 form central bond)
    -  ...
    -  N dihedral-type atom-1 atom-2 atom-3 atom-4  (N = # of dihedrals)
    -
    -Impropers
    -
    -  1 improper-type atom-1 atom-2 atom-3 atom-4  (atom-1 is central atom)
    -  ...
    -  N improper-type atom-1 atom-2 atom-3 atom-4  (N = # of impropers)
    -
    - - diff --git a/doc/html/99/force_fields.html b/doc/html/99/force_fields.html deleted file mode 100644 index 2907789e91da3609e7ced81e373b361fc6e165de..0000000000000000000000000000000000000000 --- a/doc/html/99/force_fields.html +++ /dev/null @@ -1,550 +0,0 @@ - - - - - - -

    -LAMMPS Force Fields

    -

    -Return to top-level of LAMMPS documentation

    -

    -This file outlines the force-field formulas used in LAMMPS. Read this -file in conjunction with the data_format - and units file.

    -

    -The sections of this page are as follows:

    - -
    -

    -Nonbond Coulomb

    -

    -Whatever Coulomb style is specified in the input command file, the -short-range Coulombic interactions are computed by this formula, -modified by an appropriate smoother for the smooth, Ewald, and PPPM -styles.

    -
    -  E = C q1 q2 / (epsilon * r)
    -
    -  r = distance (computed by LAMMPS)
    -  C = hardwired constant to convert to energy units
    -  q1,q2 = charge of each atom in electron units (proton = +1),
    -    specified in "Atoms" entry in data file
    -  epsilon = dielectric constant (vacuum = 1.0),
    -    set by user in input command file
    -
    -
    -

    -Nonbond Lennard-Jones

    -

    -The style of nonbond potential is specified in the input command file.

    -

    -(1) lj/cutoff

    -
    -
    -  E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]
    -
    -  standard Lennard Jones potential
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = epsilon (energy)
    -  coeff2 = sigma (distance)
    -
    -  2 coeffs are listed in data file or set in input script
    -  1 cutoff is set in input script
    -
    -
    -

    -(2) lj/switch

    -
    -
    -  E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]  for  r < r_inner
    -    = spline fit    for  r_inner < r < cutoff
    -    = 0             for r > cutoff
    -
    -  switching function (spline fit) is applied to standard LJ
    -    within a switching region (from r_inner to cutoff) so that
    -    energy and force go smoothly to zero
    -  spline coefficients are computed by LAMMPS
    -    so that at inner cutoff (r_inner) the potential, force, 
    -    and 1st-derivative of force are all continuous, 
    -    and at outer cutoff (cutoff) the potential and force
    -    both go to zero
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = epsilon (energy)
    -  coeff2 = sigma (distance)
    -  
    -  2 coeffs are listed in data file or set in input script
    -  2 cutoffs (r_inner and cutoff) are set in input script
    -
    -
    -

    -(3) lj/shift

    -
    -
    -  E = 4 epsilon [ (sigma/(r - delta))^12 - (sigma/(r - delta))^6 ]
    -
    -  same as lj/cutoff except that r is shifted by delta
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = epsilon (energy)
    -  coeff2 = sigma (distance)
    -  coeff3 = delta (distance)
    -
    -  3 coeffs are listed in data file or set in input script
    -  1 cutoff is set in input script
    -
    -
    -

    -(4) soft

    -
    -
    -  E = A * [ 1 + cos( pi * r / cutoff ) ]
    -
    -  useful for pushing apart overlapping atoms by ramping A over time
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = prefactor A at start of run (energy)
    -  coeff2 = prefactor A at end of run (energy)
    -
    -  2 coeffs are listed in data file or set in input script
    -  1 cutoff is set in input script
    -
    -
    -

    -(5) class2/cutoff

    -
    -
    -  E = epsilon [ 2 (sigma/r)^9 - 3 (sigma/r)^6 ]
    -
    -  used with class2 bonded force field
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = epsilon (energy)
    -  coeff2 = sigma (distance)
    -
    -  2 coeffs are listed in data file or set in input script
    -  1 cutoff is set in input script
    -
    -
    -

    -Mixing Rules for Lennard-Jones

    -

    -The coefficients for each nonbond style are input in either the data -file by the "read data" command or in the input script using -the "nonbond coeff" command. In the former case, only one set -of coefficients is input for each atom type. The cross-type coeffs are -computed using one of three possible mixing rules:

    -
    -
    - geometric:  epsilon_ij = sqrt(epsilon_i * epsilon_j)
    -             sigma_ij = sqrt(sigma_i * sigma_j)
    -
    - arithmetic: epsilon_ij = sqrt(epsilon_i * epsilon_j)
    -             sigma_ij = (sigma_i + sigma_j) / 2
    -
    - sixthpower: epsilon_ij =
    -               (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) /
    -               (sigma_i^6 + sigma_j^6)
    -             sigma_ij=  ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6)
    -
    -
    -

    -The default mixing rule for nonbond styles lj/cutoff, lj/switch, -lj/shift, and soft is "geometric". The default for nonbond -style class2/cutoff is "sixthpower".

    -

    -The default can be overridden using the "mixing style" -command. The one exception to this is for the nonbond style soft, for -which only an epsilon prefactor is input. This is always mixed -geometrically.

    -

    -Also, for nonbond style lj/shift, the delta coefficient is always mixed -using the rule

    - -
    -

    -Bonds

    -

    -The style of bond potential is specified in the input command file.

    -

    -(1) harmonic

    -
    -
    -  E = K (r - r0)^2
    -
    -  standard harmonic spring
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = K (energy/distance^2)  (the usual 1/2 is included in the K)
    -  coeff2 = r0 (distance)
    -
    -  2 coeffs are listed in data file or set in input script
    -
    -
    -

    -(2) FENE/standard

    -
    -
    -  E = -0.5 K R0^2 * ln[1 - (r/R0)^2] +
    -    4 epsilon [(sigma/r)^12 - (sigma/r)^6] + epsilon
    -
    -  finite extensible nonlinear elastic (FENE) potential for
    -    polymer bead-spring models
    -  see Kremer, Grest, J Chem Phys, 92, p 5057 (1990)
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = K (energy/distance^2)
    -  coeff2 = R0 (distance)
    -  coeff3 = epsilon (energy)
    -  coeff4 = sigma (distance)
    -
    -  1st term is attraction, 2nd term is repulsion (shifted LJ)
    -  1st term extends to R0
    -  2nd term only extends to the minimum of the LJ potential,
    -    a cutoff distance computed by LAMMPS (2^(1/6) * sigma)
    -
    -  4 coeffs are listed in data file or set in input script
    -
    -
    -

    -(3) FENE/shift

    -
    -
    -  E = -0.5 K R0^2 * ln[1 - ((r - delta)/R0)^2] +
    -    4 epsilon [(sigma/(r - delta))^12 - (sigma/(r - delta))^6] + epsilon
    -
    -  same as FENE/standard expect that r is shifted by delta
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = K (energy/distance^2)
    -  coeff2 = R0 (distance)
    -  coeff3 = epsilon (energy)
    -  coeff4 = sigma (distance)
    -  coeff5 = delta (distance)
    -
    -  1st term is attraction, 2nd term is repulsion (shifted LJ)
    -  1st term extends to R0
    -  2nd term only extends to the minimum of the LJ potential,
    -    a cutoff distance computed by LAMMPS (2^(1/6) * sigma + delta)
    -
    -  5 coeffs are listed in data file or set in input script
    -
    -
    -

    -(4) nonlinear

    -
    -
    -  E = epsilon (r - r0)^2 / [ lamda^2 - (r - r0)^2 ]
    -
    -  non-harmonic spring of equilibrium length r0
    -    with finite extension of lamda
    -  see Rector, Van Swol, Henderson, Molecular Physics, 82, p 1009 (1994)
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = epsilon (energy)
    -  coeff2 = r0 (distance)
    -  coeff3 = lamda (distance)
    -
    -  3 coeffs are listed in data file or set in input script
    -
    -
    -

    -(5) class2

    -
    -
    -  E = K2 (r - r0)^2  +  K3 (r - r0)^3  +  K4 (r - r0)^4
    -
    -  r = distance (computed by LAMMPS)
    -
    -  coeff1 = r0 (distance)
    -  coeff2 = K2 (energy/distance^2)
    -  coeff3 = K3 (energy/distance^3)
    -  coeff4 = K4 (energy/distance^4)
    -
    -  4 coeffs are listed in data file - cannot be set in input script
    -
    -
    -

    -Angles

    -

    -The style of angle potential is specified in the input command file.

    -

    -(1) harmonic

    -
    -
    -  E = K (theta - theta0)^2
    -
    -  theta = radians (computed by LAMMPS)
    -
    -  coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
    -  coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
    -
    -  2 coeffs are listed in data file
    -
    -
    -

    -(2) class2

    -
    -
    -  E = K2 (theta - theta0)^2 +  K3 (theta - theta0)^3 + 
    -       K4 (theta - theta0)^4
    -
    -  theta = radians (computed by LAMMPS)
    -
    -  coeff1 = theta0 (degrees) (converted to radians within LAMMPS)
    -  coeff2 = K2 (energy/radian^2)
    -  coeff3 = K3 (energy/radian^3)
    -  coeff4 = K4 (energy/radian^4)
    -
    -  4 coeffs are listed in data file
    -
    -
    -

    -Dihedrals

    -

    -The style of dihedral potential is specified in the input command file.

    -

    -(1) harmonic

    -
    -
    -  E = K [1 + d * cos (n * phi) ]
    -
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = K (energy)
    -  coeff2 = d (always +1 or -1)
    -  coeff3 = n (1,2,3,4,6)
    -
    -  Cautions when comparing to other force fields:
    -
    -  some force fields reverse the sign convention on d so that
    -    E = K [1 - d * cos(n*phi)]
    -  some force fields divide/multiply K by the number of multiple
    -    torsions that contain the j-k bond in an i-j-k-l torsion
    -  some force fields let n be positive or negative which 
    -    corresponds to d = 1,-1
    -  in the LAMMPS force field, the trans position = 180 degrees, while
    -    in some force fields trans = 0 degrees
    - 
    -  3 coeffs are listed in data file
    -
    -

    -(2) class2

    -
    -
    -  E = SUM(n=1,3) { K_n [ 1 - cos( n*Phi - Phi0_n ) ] }
    -
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = K_1 (energy)
    -  coeff2 = Phi0_1 (degrees) (converted to radians within LAMMPS)
    -  coeff3 = K_2 (energy)
    -  coeff4 = Phi0_2 (degrees) (converted to radians within LAMMPS)
    -  coeff5 = K_3 (energy)
    -  coeff6 = Phi0_3 (degrees) (converted to radians within LAMMPS)
    -
    -  6 coeffs are listed in data file
    -
    -
    -

    -Impropers

    -

    -The style of improper potential is specified in the input command file.

    -

    -(1) harmonic

    -
    -
    -  E = K (chi - chi0)^2
    -
    -  chi = radians (computed by LAMMPS)
    -
    -  coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
    -  coeff2 = chi0 (degrees) (converted to radians within LAMMPS)
    -
    -  in data file, listing of 4 atoms requires atom-1 as central atom
    -  some force fields (AMBER,Discover) have atom-2 as central atom - it is really
    -    an out-of-plane torsion, may need to treat as dihedral in LAMMPS
    -
    -  2 coeffs are listed in data file
    -
    -

    -(2) class2

    -
    -
    -  same formula, coeffs, and meaning as "harmonic" except that LAMMPS
    -    averages all 3 angle-contributions to chi
    -  in class II this is called a Wilson out-of-plane interaction
    -
    -  2 coeffs are listed in data file
    -
    -
    -

    -Class II Force Field

    -

    -If class II force fields are selected in the input command file, -additional cross terms are computed as part of the force field.

    -

    -Bond-Bond (computed within class II angles)

    -
    -
    -  E = K (r - r0) * (r' - r0')
    -
    -  r,r' = distance (computed by LAMMPS)
    -
    -  coeff1 = K (energy/distance^2)
    -  coeff2 = r0 (distance)
    -  coeff3 = r0' (distance)
    -
    -  3 coeffs are input in data file
    -
    -

    -Bond-Angle (computed within class II angles for each of 2 bonds)

    -
    -
    -  E = K_n (r - r0_n) * (theta - theta0)
    -
    -  r = distance (computed by LAMMPS)
    -  theta = radians (computed by LAMMPS)
    -
    -  coeff1 = K_1 (energy/distance-radians)
    -  coeff2 = K_2 (energy/distance-radians)
    -  coeff3 = r0_1 (distance)
    -  coeff4 = r0_2 (distance)
    -
    -  Note: theta0 is known from angle coeffs so don't need it specified here
    -
    -  4 coeffs are listed in data file
    -
    -

    -Middle-Bond-Torsion (computed within class II dihedral)

    -
    -
    -  E = (r - r0) * [ F1*cos(phi) + F2*cos(2*phi) + F3*cos(3*phi) ]
    -
    -  r = distance (computed by LAMMPS)
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = F1 (energy/distance)
    -  coeff2 = F2 (energy/distance)
    -  coeff3 = F3 (energy/distance)
    -  coeff4 = r0 (distance)
    -
    -  4 coeffs are listed in data file
    -
    -

    -End-Bond-Torsion (computed within class II dihedral for each of 2 -bonds)

    -
    -
    -  E = (r - r0_n) * [ F1_n*cos(phi) + F2_n*cos(2*phi) + F3_n*cos(3*phi) ]
    -
    -  r = distance (computed by LAMMPS)
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = F1_1 (energy/distance)
    -  coeff2 = F2_1 (energy/distance)
    -  coeff3 = F3_1 (energy/distance)
    -  coeff4 = F1_2 (energy/distance)
    -  coeff5 = F2_3 (energy/distance)
    -  coeff6 = F3_3 (energy/distance)
    -  coeff7 = r0_1 (distance)
    -  coeff8 = r0_2 (distance)
    -
    -  8 coeffs are listed in data file
    -
    -

    -Angle-Torsion (computed within class II dihedral for each of 2 angles)

    -
    -
    -  E = (theta - theta0) * [ F1_n*cos(phi) + F2_n*cos(2*phi) + F3_n*cos(3*phi) ]
    -
    -  theta = radians (computed by LAMMPS)
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = F1_1 (energy/radians)
    -  coeff2 = F2_1 (energy/radians)
    -  coeff3 = F3_1 (energy/radians)
    -  coeff4 = F1_2 (energy/radians)
    -  coeff5 = F2_3 (energy/radians)
    -  coeff6 = F3_3 (energy/radians)
    -  coeff7 = theta0_1 (degrees) (converted to radians within LAMMPS)
    -  coeff8 = theta0_2 (degrees) (converted to radians within LAMMPS)
    -
    -  8 coeffs are listed in data file
    -
    -

    -Angle-Angle-Torsion (computed within class II dihedral)

    -
    -
    -  E = K (theta - theta0) * (theta' - theta0') * (phi - phi0)
    -
    -  theta,theta' = radians (computed by LAMMPS)
    -  phi = radians (computed by LAMMPS)
    -
    -  coeff1 = K (energy/radians^3)
    -  coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
    -  coeff3 = theta0' (degrees) (converted to radians within LAMMPS)
    -
    -  Note: phi0 is known from dihedral coeffs so don't need it specified here
    -
    -  3 coeffs are listed in data file
    -
    -
    -

    -Bond-Bond-13-Torsion (computed within class II dihedral)

    -
    -
    -  (undocumented)
    -
    -
    -

    -Angle-Angle (computed within class II improper for each of 3 pairs of -angles)

    -
    -
    -  E = K_n (theta - theta0_n) * (theta' - theta0_n')
    -
    -  theta,theta' = radians (computed by LAMMPS)
    -
    -  coeff1 = K_1 (energy/radians^2)
    -  coeff2 = K_2 (energy/radians^2)
    -  coeff3 = K_3 (energy/radians^2)
    -  coeff4 = theta0_1 (degrees) (converted to radians within LAMMPS)
    -  coeff5 = theta0_2 (degrees) (converted to radians within LAMMPS)
    -  coeff6 = theta0_3 (degrees) (converted to radians within LAMMPS)
    -
    -  6 coeffs are listed in data file
    -
    - - diff --git a/doc/html/99/history.html b/doc/html/99/history.html deleted file mode 100644 index 861ef480a305b7e36badb0b70ef27999cb825b58..0000000000000000000000000000000000000000 --- a/doc/html/99/history.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - -

    -History of LAMMPS

    -

    -Return to top-level of LAMMPS documentation.

    -

    -This is a brief history of features added to each version of LAMMPS.

    -
    -

    -LAMMPS 99 - June 99

    - -
    -

    -Version 5.0 - Oct 1997

    - -
    -

    -Version 4.0 - March 1997

    - -
    -

    -Version 3.0 - March 1996

    - -
    -

    -Version 2.0 - October 1995

    - -
    -

    -Version 1.1 - February 1995

    - -
    -

    -Version 1.0 - January 1995

    - - - diff --git a/doc/html/99/input_commands.html b/doc/html/99/input_commands.html deleted file mode 100644 index b90402715376a1e83f0af349496f6b7badb048f6..0000000000000000000000000000000000000000 --- a/doc/html/99/input_commands.html +++ /dev/null @@ -1,1570 +0,0 @@ - - - - - - -

    -LAMMPS Input Commands

    -

    -Return to top-level of LAMMPS documentation.

    -

    -This page contains a complete list of valid LAMMPS inputs. It will be -easiest to understand if you read it while looking at sample input -files such as those in the examples directory.

    -

    -The input file of commands is read by LAMMPS, one line at a time. Each -command causes LAMMPS to take some action. Usually it simply causes -some internal variable(s) to be set. Or it may cause a file to be read -in or a simulation to be run. In general, commands can be listed in any -order, although some commands require others to have been executed -previously.

    -

    -LAMMPS continues to read successive lines from the input command file -until the end-of-file is reached which causes LAMMPS to terminate. Thus -new simulations can be run or current simulations continued by simply -specifying additional commands in the input command file.

    -

    -The next section of this page gives an example of each command, some of -which can be specified in multiple styles. Typically the commands take -one or more parameters. The keyword for each command should begin in -the leftmost column and all characters in the command and its -parameters should be in lower-case. Parameters can be separated by -arbitrary numbers of spaces and/or tabs (so long as the command fits on -one line). The remainder of the line after the last parameter is -ignored.

    -

    -The final section of this page gives a more detailed description of -each command with its associated parameters. It also lists the default -parameters associated with each command. When performing a simulation, -you only need specify a particular command if you do not want to use -the default settings.

    - -
    -

    -Categories of Commands withExamples

    - -
    -

    -Basic Settings

    -
    -comments
    -
    -units                  real
    -dimension              3
    -periodicity            0 0 0
    -processor grid         10 10 10
    -newton flag            3
    -timestep               1.0
    -respa                  2 2 4
    -neighbor               2.0 0 1 10 1
    -special bonds          0.0 0.0 0.4
    -
    -
    -

    -Output Control

    -
    -thermo flag            50
    -thermo style           0
    -true flag              0
    -
    -dump atoms             100 filename
    -dump velocities        100 filename
    -dump forces            100 filename
    -
    -restart                1000 file1 file2
    -diagnostic             diffusion 100 filename 3 1.0 -1.0 2.5
    -
    -
    -

    -Ensemble Control

    -
    -temp control           none
    -temp control           rescale 300.0 300.0 100 20.0
    -temp control           replace 300.0 300.0 50 12345678
    -temp control           langevin 50.0 50.0 0.01 123456
    -temp control           nose/hoover 300.0 300.0 0.01
    -
    -press control          none
    -press control          nose/hoover 1.0 1.0 0.001
    -press_x control        nose/hoover 1.0 1.0 0.001
    -press_y control        nose/hoover 1.0 1.0 0.001
    -press_z control        nose/hoover 1.0 1.0 0.001
    -
    -
    -

    -Nonbond Force Field

    -
    -nonbond style          none
    -nonbond style          lj/cutoff 10.0 0
    -nonbond coeff          1 2 1.0 3.45 10.0
    -nonbond style          lj/smooth 8.0 10.0
    -nonbond coeff          1 2 1.0 3.45 8.0 10.0
    -nonbond style          lj/shift 10.0 0
    -nonbond coeff          1 2 1.0 3.45 2.0 10.0
    -nonbond style          soft 2.5
    -nonbond coeff          1 2 1.0 30.0 2.5
    -nonbond style          class2/cutoff 10.0 0
    -nonbond coeff          1 2 1.0 3.45 10.0
    -mixing style           geometric
    -
    -coulomb style          none
    -coulomb style          cutoff 10.0
    -coulomb style          smooth 8.0 10.0
    -coulomb style          ewald 10.0 1.0E-4
    -coulomb style          pppm 10.0 1.0E-4
    -pppm mesh              32 32 64
    -pppm order             5
    -dielectric             1.0
    -
    -
    -

    -Bonded Force Field

    -
    -bond style             none
    -bond style             harmonic
    -bond coeff             1 100.0 3.45
    -bond style             fene/standard
    -bond coeff             1 30.0 1.5 1.0 1.0
    -bond style             fene/shift
    -bond coeff             1 30.0 1.5 1.0 1.0 0.2
    -bond style             nonlinear
    -bond coeff             1 28.0 0.748308 0.166667
    -bond style             class2
    -
    -angle style            none
    -angle style            harmonic
    -angle style            class2
    -
    -dihedral style         none
    -dihedral style         harmonic
    -dihedral style         class2
    -
    -improper style         none
    -improper style         harmonic
    -improper style         class2
    -
    -
    -

    -Atom Creation

    -
    -read data              filename
    -read restart           filename
    -
    -
    -

    -Velocity Creation

    -
    -create group           types 1 3
    -create group           region 0.0 1.0 0.0 1.0 INF 1.0
    -create group           remainder
    -
    -create temp            uniform 300.0 12345678
    -create temp            gaussian 300.0 12345678
    -create temp            velocity 0.0 0.0 0.0
    -
    -
    -

    -Constraint Creation

    -
    -fix style              none
    -fix style              1 setforce 0.0 NULL 0.0
    -fix style              1 addforce 1.0 0.0 0.0
    -fix style              1 aveforce 1.0 0.0 0.0
    -fix style              1 rescale 300.0 300.0 100 20.0
    -fix style              1 langevin 50.0 50.0 0.01 12345 1 1 1
    -fix style              1 nose/hoover 50.0 50.0 0.01
    -fix style              1 springforce 10.0 NULL NULL 1.0
    -fix style              1 dragforce 10.0 -5.0 NULL 2.0 1.0
    -
    -assign fix             1 atom 200
    -assign fix             1 molecule 50
    -assign fix             1 type 2
    -assign fix             1 region 0.0 1.0 INF INF 0.0 1.0
    -assign fix             1 remainder
    -
    -
    -

    -Dynamics or Minimization

    -
    -reset timestep         0
    -
    -run                    1000
    -
    -min style              hftn
    -min file               filename
    -minimize               0.0001 9999 50000
    -
    -
    -

    -Alphabetic Listing of Commands:

    -
    -

    -angle style

    - -
    -define style of angle interactions to use for all 3-body terms
    -angle style determines how many angle coefficients the program expects to
    -  find in a "Angle Coeffs" entry in the data file, 
    -  thus the style must be set (if not using default)
    -  before using the "read data" command (if the data file contains a 
    -  "Angle Coeffs" entry)
    -coefficients for all angle types must be defined in data (or restart)
    -  file by "Angle Coeffs" entry before a run is performed
    -style of "none" erases all previously defined angle coefficients, must
    -  reset style to something else before defining new coefficients
    -
    -Default = harmonic
    -
    -
    -

    -assign fix

    - -
    -styles:
    -
    - -
    -coeffs:  atom
    -               (1) global atom #
    -         molecule
    -               (1) molecule #
    -         type
    -               (1) atom type
    -         region
    -               (1) lower x bound of region
    -               (2) upper x bound of region
    -               (3) lower y bound of region
    -               (4) upper y bound of region
    -               (5) lower z bound of region
    -               (6) upper z bound of region
    -         remainder
    -               no other parameters required
    -
    -assign a group of atoms to a particular constraint
    -use appropriate number of coeffs for a particular style
    -the constraint itself is defined by the "fix style" command
    -multiple groups of atoms can be assigned to the same constraint
    -an atom can be assigned to multiple constraints, the contraints will be
    -  applied in the reverse order they are assigned to that atom
    -  (e.g. each timestep, the last fix assigned to an atom will be applied 
    -  to it first, then the next-to-last applied second, etc)
    -for style region, a coeff of INF means + or - infinity (all the way 
    -  to the boundary)
    -
    -
    -

    -bond coeff

    - -
    -coeffs:   harmonic
    -               (1) K (energy units)
    -               (2) r0 (distance units)
    -          fene/standard
    -               (1) k for FENE portion (energy/distance^2 units)
    -               (2) r0 for FENE portion (distance units)
    -               (3) epsilon for LJ portion (energy units)
    -               (4) sigma for LJ portion (distance units)
    -          fene/shift
    -               (1) k for FENE (energy/distance^2 units)
    -               (2) r0 for FENE after shift is performed (distance units)
    -               (3) epsilon for LJ (energy units)
    -               (4) sigma for LJ after shift is performed (distance units)
    -               (5) delta shift distance (distance units)
    -          nonlinear
    -               (1) epsilon (energy units)
    -               (2) r0 (distance units)
    -               (3) lamda (distance units)
    -          class 2
    -               currently not enabled for "bond coeff" command
    -               must be specified in data file (see "read data" command)
    -
    -define (or override) bond coefficients for an individual bond type
    -use appropriate number of coeffs for a particular style
    -these coefficients can also be set in data file 
    -  by "Bond Coeffs" entry, the most recently defined coefficients are used
    -
    -Default = no settings
    -
    -
    -

    -bond style

    - -
    -define style of bond interactions to use between all bonded atoms
    -bond style determines how many bond coefficients the program expects to
    -  find in a "Bond Coeffs" entry in the  data file or when using the 
    -  "bond coeff" command, thus the style must be set (if not using default)
    -  before using the "read data" command (if the data file contains a 
    -  "Bond Coeffs" entry)
    -coefficients for all bond types must be defined in data (or restart)
    -  file by "Bond Coeffs" entry or by "bond coeffs" commands before a run
    -  is performed
    -style of "none" erases all previously defined bond coefficients, must
    -  reset style to something else before defining new coefficients
    -
    -Default = harmonic
    -
    -
    -

    -comments

    -
    -blank lines are ignored
    -everything on a line after the last parameter is ignored
    -lines starting with a # are echoed into the log file
    -
    -
    -

    -coulomb style

    - -
    -styles:
    -
    - -
    -coeffs:  none
    -               no other parameters required
    -         cutoff
    -               (1) cutoff distance (distance units)
    -         smooth
    -               (1) inner cutoff (distance units)
    -               (2) outer cutoff (distance units)
    -         ewald
    -               (1) cutoff distance for near-field portion (distance units)
    -               (2) accuracy criterion
    -         pppm
    -               (1) cutoff distance for near-field portion (distance units)
    -               (2) accuracy criterion
    -
    -use appropriate number of coeffs for a particular style
    -if simulated system has no charges, must set "coulomb style none" to
    -  prevent LAMMPS from doing useless nonbond work
    -accuracy criterion means "one part in value" - e.g. 1.0E-4
    -Ewald and PPPM accuracy criterion are used in conjunction with cutoff
    -  to partition work between short-range and long-range routines
    -accuracy criterion effectively determines how many k-space vectors are used
    -  to approximate the energy and forces
    -for PPPM, accuracy criterion determines mesh spacing (see "particle mesh"
    -  command)
    -for PPPM, must be running on power-of-2 number of processors for FFTs
    -must use periodic boundary conditions in conjuction with Ewald and PPPM
    -cannot use any styles other than none with nonbond style = lj/shift or
    -  nonbond style = soft
    -Coulomb style = smooth should be used with nonbond style = lj/switch,
    -  and both should use same inner and outer cutoffs
    -for smooth style, outer cutoff must be > inner cutoff
    -for smooth style, atom pairs less than the inner cutoff distance use 
    -  usual Coulomb, pairs between inner and outer are smoothed, and the 
    -  potential goes to 0.0 at the outer cutoff
    -for smooth style, force is continuously differentiable everywhere
    -
    -Default = cutoff 10.0
    -
    -
    -

    -create group

    - -
    -styles:
    -
    - -
    -coeffs:  types
    -               (1) lowest atom type
    -               (2) highest atom type
    -         region
    -               (1) lower x bound of region
    -               (2) upper x bound of region
    -               (3) lower y bound of region
    -               (4) upper y bound of region
    -               (5) lower z bound of region
    -               (6) upper z bound of region
    -         remainder
    -               no other parameters required
    -       
    -used with "create temp" commmand to initialize velocities of atoms
    -by default, the "create temp" command initializes the velocities of all atoms,
    -  this command limits the initialization to a group of atoms
    -this command is only in force for the next "create temp" command, any
    -  subsequent "create temp" command is applied to all atoms (unless the
    -  "create group" command is used again)
    -for style types, only atoms with a type such that lo-type <= type <= hi-type
    -  will be initialized by "create temp"
    -for style types, lo-type can equal hi-type if just want to specify one type
    -for style region, only atoms within the specified spatial region
    -  will be initialized by "create temp"
    -for style region, a coeff of INF means + or - infinity (all the way 
    -  to the boundary)
    -for style remainder, only previously uninitialized atoms
    -  will be initialized by "create temp"
    -
    -
    -

    -create temp

    - -
    -styles: 
    -
    - -
    -coeffs:  uniform
    -               (1) target T (temperature units)
    -               (2) random # seed (0 < seed <= 8 digits)
    -         gaussian
    -               (1) target T (temperature units)
    -               (2) random # seed (0 < seed <= 8 digits)
    -         velocity
    -               (1) x velocity component (velocity units)
    -               (2) y velocity component (velocity units)
    -               (3) z velocity component (velocity units)
    -
    -initialize velocities of atoms to a specified temperature
    -use appropriate number of coeffs for a particular style
    -cannot be done before a data or restart file is read
    -by default, velocities are created for all atoms - this can be overridden
    -  by "create group" command
    -for uniform and Gaussian styles velocities are created in 
    -  processor-independent fashion - is slower but gives the same initial 
    -  state independent of # of processors
    -for uniform and Gaussian styles the momentum of the initialized atoms is
    -  also zeroed, but only if all atoms are being initialized 
    -for uniform and Gaussian styles, RN are generated with Park/Miller RNG
    -for velocity style in 2-d simulations, still specify z velocity component,
    -  even though it is ignored
    -
    -
    -

    -diagnostic

    - -
    -call a user-defined diagnostic routine every this many timesteps
    -this command can be used multiple times to call different routines
    -  at different frequencies, that use different parameters, and that
    -  send output to different files
    -value of 0 for 2nd parameter means never call this particular routine
    -this command causes any previous file associated with this user routine
    -  to be closed
    -new filename can exist, will be overwritten
    -if the file name specified is "none", then no file is opened
    -each routine that is added to diagnostic.f and enabled with a
    -  "diagnostic" command will be called at the beginning and end of
    -  each "run" and every so many timesteps during the run
    -the diagnostic.f file has further information on how to create
    -  routines that operate on internal LAMMPS data, do their own file output,
    -  perform different operations (e.g. setup and clean-up) depending
    -  on when they are called, etc
    -the user routines must be compiled and linked into LAMMPS
    -the optional 5th-9th parameters are stored in program variables which
    -  can be accessed by the diagnostic routine
    -
    -Default = none
    -
    -
    -

    -dielectric

    -
    -set dielectric constant to this value
    -
    -Default = 1.0
    -
    -
    -

    -dihedral style

    - -
    -define style of dihedral interactions to use for all 4-body terms
    -dihedral style determines how many dihedral coefficients the program expects to
    -  find in a "Dihedral Coeffs" entry in the data file, 
    -  thus the style must be set (if not using default)
    -  before using the "read data" command (if the data file contains a 
    -  "Dihedral Coeffs" entry)
    -coefficients for all dihedral types must be defined in data (or restart)
    -  file by "Dihedral Coeffs" entry before a run is performed
    -style of "none" erases all previously defined dihedral coefficients, must
    -  reset style to something else before defining new coefficients
    -
    -Default = harmonic
    -
    -
    -

    -dimension

    - -
    -for a 2-d run, assumes all z-coords are set to 0.0 in "read data" or
    -  "read restart" files and program creates no z velocities
    -this command sets the processor grid to default values for 2-d or 3-d
    -  so must be used before "processor grid" command
    -must be set before data or restart file is read
    -
    -Default = 3
    -
    -
    -

    -dump atoms

    - -
    -dump all atom positions to a file every this many timesteps
    -positions are also dumped at the start and end of every run
    -value of 0 means never dump
    -any previous file is closed
    -new filename can exist, will be overwritten
    -atom positions in dump file are in "box" units (0.0 to 1.0) in each dimension
    -
    -Default = 0
    -
    -
    -

    -dump forces

    - -
    -dump all atom forces to a file every this many timesteps
    -forces are also dumped at the start and end of every run
    -any previous file is closed
    -new filename can exist, will be overwritten
    -value of 0 means never dump
    -
    -Default = 0
    -
    -
    -

    -dump velocities

    - -
    -dump all atom velocities to a file every this many timesteps
    -velocities are also dumped at the start and end of every run
    -any previous file is closed
    -new filename can exist, will be overwritten
    -value of 0 means never dump
    -
    -Default = 0
    -
    -
    -

    -fix style

    - -
    -styles:
    -
    - -
    -coeffs:  none
    -               no other parameters required (use "none" as 1st parameter)
    -         setforce
    -                (1) x component of set force (in force units)
    -                (2) y component of set force (in force units)
    -                (3) z component of set force (in force units)
    -         addforce
    -                (1) x component of added force (in force units)
    -                (2) y component of added force (in force units)
    -                (3) z component of added force (in force units)
    -         aveforce
    -                (1) x comp of added average force per atom (in force units)
    -                (2) y comp of added average force per atom (in force units)
    -                (3) z comp of added average force per atom (in force units)
    -         rescale
    -               (1) desired T at beginning of run
    -               (2) desired T at end of run
    -               (3) check for rescaling every this many timesteps
    -               (4) T window outside of which velocities will be rescaled
    -         langevin
    -               (1) desired T at beginning of run
    -               (2) desired T at end of run
    -               (3) Langevin damping parameter (inverse time units)
    -               (4) random seed to use for white noise (0 < seed <= 8 digits)
    -               (5) 0/1 = off/on x dimension
    -               (6) 0/1 = off/on y dimension
    -               (7) 0/1 = off/on z dimension
    -         nose/hoover
    -               (1) desired T at beginning of run
    -               (2) desired T at end of run
    -               (3) frequency constant for friction force (inverse time units)
    -         springforce
    -                (1) x position of spring origin
    -                (2) y position
    -                (3) z position
    -                (4) force constant k (so that k*distance = force units)
    -         dragforce
    -                (1) x position to drag atom towards
    -                (2) y position
    -                (3) z position
    -                (4) force magnitude f (in force units)
    -                (5) delta outside of which to apply force (in distance units)
    -
    -define a constraint
    -cannot skip a constraint number, all must be used before a run is performed
    -use appropriate number of coeffs for a particular style
    -which atoms the constraint will affect is set by the "assign fix" command
    -all of the constraints (except for rescale) are applied every timestep
    -all specified temperatures are in temperature units
    -for style setforce, a coeff of NULL means do not alter that force component
    -for style aveforce, average force on the group of fixed atoms is computed,
    -  then new average force is added in and actual force on each atom is set
    -  to new total value -> has effect of applying same force to entire group
    -  of atoms
    -thermostatting constraints (rescale, langevin, nose/hoover) cannot be used in
    -  conjuction with global "temp control", since they conflict and will
    -  cause atom velocities to be reset twice
    -if multiple Langevin constraints are specified the Marsaglia RNG will
    -  only use the last RNG seed specified for initialization
    -meaning of thermostatting coefficients is same as in "temp control" command
    -style springforce is designed to be applied to an entire group of atoms
    -  en masse (e.g. an umbrella force on an entire molecule)
    -for style springforce, the center of mass r0 of the group of atoms is computed,
    -  then a restoring force = -k*(r-r0)*mass/masstotal is applied to each 
    -  atom in the group where mass = mass of the atom and masstotal = mass of
    -  all the atoms in the group - thus "k" should represent the total
    -  force on the group of atoms (not per atom)
    -for style springforce, a xyz position of NULL means do not include that
    -  dimension in the distance or force computation
    -for style dragforce, apply a drag force of magnitude f to each atom in the
    -  group in the direction (r-r0) where r0 = (x,y,z) - do not apply the force if
    -  the atom is within a distance delta of r0
    -for style dragforce, a xyz position of NULL means do not include that
    -  dimension in the distance or force computation
    -
    -Default = none
    -
    -
    -

    -improper style

    - -
    -define style of improper interactions to use for all trigonal centers
    -in class2 case, dictates that angle-angle terms be included for all
    -  trigonal and tetrahedral centers
    -in above formulas, phi = improper torsion, chi = Wilson out-of-plane
    -improper style determines how many improper coefficients the program   
    -  expects to find in a "Improper Coeffs" entry in the data file, 
    -  thus the style must be set (if not using default)
    -  before using the "read data" command (if the data file contains a 
    -  "Improper Coeffs" entry)
    -coefficients for all improper types must be defined in data (or restart)
    -  file by "Improper Coeffs" entry before a run is performed
    -style of "none" erases all previously defined improper coefficients, must
    -  reset style to something else before defining new coefficients
    -
    -Default = harmonic
    -
    -
    -

    -min file

    -
    -name of file to write minimization iteration info to
    -filename can exist, will be overwritten when minimization occurs
    -if no file is specified, no minimization output will be written to a file
    -
    -Default = none
    -
    -
    -

    -min style

    - -
    -choose minimization algorithm to use when "minimize" command is performed
    -currently, only htfn style is available
    -
    -Default = htfn
    -
    -
    -

    -minimize

    - -
    -perform an energy minimization of the atomic coordinates of the system
    -uses algorithm selected with "min style" command
    -minimization stops if any of 3 criteria are met:
    -  (1) largest force component < stopping tolerance
    -  (2) # of iterations > max iterations
    -  (3) # of force and energy evaluations > max evaluations
    -for good convergence, should specify use of smooth nonbond force fields 
    -  that have continuous second derivatives, set "coulomb style" to "smooth",
    -  set nonbond style to "lj/smooth" or use a long cutoff
    -
    -
    -

    -mixing style

    - -
    -styles:
    -
    - -
    -determine the kind of mixing rule that is applied to generate nonbond
    -  coefficients for interactions between type i and type j atoms
    -mixing rules are used only when nonbond coeffs are input in a "read data" file
    -for nonbond style "soft", only epsilons (prefactor A) are input - they are
    -  always mixed geometrically, regardless of mixing style setting
    -
    -Default = geometric for all nonbond styles except class2/cutoff
    -         sixthpower for nonbond style class2/cutoff
    -
    -
    -

    -neighbor

    - -
    -factors that affect how and when neighbor lists are constructed
    -skin must be large enough that all atoms needed for bond
    -  interactions are also acquired by interprocessor communication
    -last parameter incurs extra checking and communication to test against
    -  skin thickness, but may mean neighbor list is created less often
    -when RESPA is run, the 3rd and 4th parameters refer to the
    -  nonbond (short-range) timestepping
    -defaults = 2.0 0 1 10 1
    -
    -
    -

    -newton flag

    -
    -turn off or on Newton's 3rd law for bond and non-bond force computation
    -
    - -
    -no Newton's 3rd law means more force computation and less communication
    -yes Newton's 3rd law means less force computation and more communication
    -which choice is faster is problem dependent on N, # of processors, 
    -  and cutoff length(s)
    -expect for round-off errors, setting this flag should not affect answers, 
    -  only run time
    -must be set before data or restart file is read
    -
    -Default = 3
    -
    -
    -

    -nonbond coeff

    - -
    -coeffs: lj/cutoff
    -               (1) epsilon (energy units)
    -               (2) sigma (distance units)
    -               (3) cutoff (distance units)
    -        lj/smooth
    -               (1) epsilon (energy units)
    -               (2) sigma (distance units)
    -               (3) inner cutoff (distance units)
    -               (4) outer cutoff (distance units)
    -        lj/shift
    -               (1) epsilon (energy units)
    -               (2) sigma (distance units)
    -               (3) delta shift distance (distance units)
    -               (4) cutoff (distance units)
    -        soft
    -               (1) prefactor A at start of run (energy units)
    -               (2) prefactor A at end of run (energy units)
    -               (3) cutoff (distance units)
    -        class2/cutoff
    -               (1) epsilon (energy units)
    -               (2) sigma (distance units)
    -               (3) cutoff (distance units)
    -
    -define (or override) nonbond coefficients for an individual atom type pair
    -use appropriate number of coeffs for a particular style
    -1st atom type must be <= 2nd atom type
    -all cutoffs are in global units, not local sigma units
    -  (e.g. in reduced units a setting of "lj/cutoff 1.0 1.2 2.5" means a 
    -  cutoff of 2.5, not 1.2*2.5)
    -turn off a particular type pair interaction by setting the
    -  cutoff to 0.0 (both cutoffs to zero for lj/smooth option)
    -for soft style, prefactor A is ramped from starting value to
    -  ending value during run
    -these coefficients (except the cutoffs) can also be set in data file 
    -  by "Nonbond Coeffs" entry and associated mixing rules, the cutoffs can
    -  be set (globally) via the "nonbond style" command, the most
    -  recently defined coefficients/cutoffs are used
    -
    -Default = no settings
    -
    -
    -

    -nonbond style

    - -
    -styles: 
    -
    - -
    -coeffs:  none
    -               no other parameters required
    -         lj/cutoff
    -               (1) cutoff (distance units)
    -               (2) offset flag (0 or 1)
    -         lj/smooth
    -               (1) inner cutoff (distance units)
    -               (2) outer cutoff (distance units)
    -         lj/shift
    -               (1) cutoff (distance units)
    -               (2) offset flag (0 or 1)
    -         soft
    -               (1) cutoff (distance units)
    -         class2/cutoff
    -               (1) cutoff (distance units)
    -               (2) offset flag (0 or 1)
    -
    -define style of pairwise nonbond interactions to use between all atom types
    -use appropriate number of coeffs for a particular style
    -this is separate from charge interactions (see "coulomb style" command)
    -nonbond style determines how many nonbond coefficients the program expects to
    -  find in a "Nonbond Coeffs" entry in the data file or when using the 
    -  "nonbond coeff" command, thus the style must be set (if not using default)
    -  before using the "read data" command (if the data file contains a 
    -  "Nonbond Coeffs" entry)
    -coefficients for all atom type pairs must be defined in data (or restart)
    -  file by "Nonbond Coeffs" entry or by "nonbond coeffs" commands before a run
    -  is performed
    -style of "none" erases all previously defined nonbond coefficients, must
    -  reset style to something else before defining new coefficients
    -for all styles (except none), this command sets the cutoff(s) for all type
    -  pair interactions, thus overriding any previous settings by a "nonbond
    -  coeff" command or that were read in from a restart file
    -for lj/cutoff, lj/shift, class2/cutoff styles, 
    -  offset flag only affects printout of thermodynamic energy
    -  (not forces or dynamics), determines whether offset energy 
    -  is added in to LJ potential to make value at cutoff = 0.0,
    -  flag = 0 -> do not add in offset energy,
    -  flag = 1 -> add in offset energy 
    -for lj/smooth style, outer cutoff must be > inner cutoff
    -for lj/smooth style, atom pairs less than the inner cutoff distance use 
    -  straight LJ, pairs between inner and outer use a smoothed LJ, and the 
    -  potential goes to 0.0 at the outer cutoff
    -for lj/smooth style, energy and forces are continuous at inner cutoff and go
    -  smoothly to zero at outer cutoff
    -for lj/shift and soft styles, must set "coulomb style" to "none"
    -for lj/shift style, delta shift distances for each atom pair are set by
    -  "Nonbond Coeffs" entry in data file or by "nonbond coeffs" command
    -for soft style, values of the prefactor "A", which is ramped from one
    -  value to another during the run, are set by "Nonbond Coeffs" entry
    -  in data file or by "nonbond coeffs" command
    -
    -Default = lj/cutoff 10.0 0
    -
    -
    -

    -periodicity

    - -
    -turn on/off periodicity in any of three dimensions
    -used in inter-particle distance computation and when particles move
    -  to map (or not map) them back into periodic box
    -for a 2-d run (see "dimension" command), 3rd parameter must be 
    -  specified, but doesn't matter if it is 0 or 1
    -must be set before data or restart file is read
    -
    -Default = 0 0 0 (periodic in all dimensions)
    -
    -
    -

    -pppm mesh

    - -
    -specify the mesh size used by coulomb style pppm
    -mesh dimensions that are power-of-two are fastest for FFTs, but any size
    -  can be used that are supported by native machine libraries
    -this command is optional - if not used, a default
    -  mesh size will be chosen to satisfy accuracy criterion - if used, the
    -  specifed mesh size will override the default
    -
    -Default = none
    -
    -
    -

    -pppm order

    -
    -specify the order of the interpolation function that is used by coulomb
    -  style pppm to map particle charge to the particle mesh
    -order is roughly equivalent to how many mesh points a point charge
    -  overlaps onto
    -
    -Default = 5
    -
    -
    -

    -press control

    - -
    -styles:
    -
    - -
    -coeffs:   none
    -               no other parameters required
    -          nose/hoover
    -               (1) desired P at beginning of run
    -               (2) desired P at end of run
    -               (3) frequency constant for volume adjust (inverse time units)
    -
    -use appropriate number of coeffs for a particular style
    -all specified pressures are in pressure units
    -target pressure at intermediate points during run is a ramped value
    -  between the beginning and ending pressure
    -for nose/hoover style, frequency constant is like an inverse "piston" 
    -  mass which determines how rapidly the pressure fluctuates in response to a
    -  restoring force, large frequency -> small mass -> rapid fluctations
    -for nose/hoover style, units of frequency/damping constant are
    -  inverse time, so a value of 0.001 means relax in a timespan on the 
    -  order of 1000 fmsec (real units) or 1000 tau (LJ units)
    -
    -Default = none
    -
    -
    -

    -press_x control

    -

    -press_y control

    -

    -press_z control

    - -
    -styles: 
    -
    - -
    -coeffs: none
    -                no other parameters required
    -        nose/hoover
    -                (1) desired P at beginning of run
    -                (2) desired P at end of run
    -                (3) frequency constant for volume adjust (inverse time units)
    -
    -commands for anisotropic pressure control, any combination is allowed
    -for a component with style = none, the cell dimension in that direction
    -  is held constant (constant volume)
    -use appropriate number of coeffs for a particular style
    -all specified pressures are in pressure units
    -target pressure at intermediate points during run is a ramped value
    -  between the beginning and ending pressure
    -cannot be used with isotropic "press control" command
    -for nose/hoover style, frequency constant is like an inverse "piston"
    -  mass which determines how rapidly the pressure fluctuates in response to a
    -  restoring force, large frequency -> small mass -> rapid fluctations
    -for nose/hoover style, units of frequency/damping constant are
    -  inverse time, so a value of 0.001 means relax in a timespan on the
    -  order of 1000 fmsec (real units) or 1000 tau (LJ units)
    -
    -Default = none
    -
    -
    -

    -processor grid

    - -
    -specify 3-d grid of processors to map to physical simulation domain
    -for 2-d problem, specify N by M by 1 grid
    -program will choose these values to best map processor grid to physical
    -  simulation box, only use this command if wish to override program choice
    -product of 3 parameters must equal total # of processors
    -must be set before data or restart file is read
    -
    -Default = none
    -
    -
    -

    -read data

    -
    -read the initial atom positions and bond info from the specified file
    -the format for the data file is specified in the file data_format
    -if a "Coeffs" entry is in data file, the appropriate "style" command
    -  command must be used first (unless default setting is used) to tell 
    -  LAMMPS how many coefficients to expect
    -most "Coeffs" entries must be present in this file if a particular "style"
    -  is desired, an exception are the "Nonbond Coeffs" and "Bond Coeffs" entries
    -  which can be omitted if all the settings are made via "nonbond coeff"
    -  and "bond coeff" commands
    -a "Nonbond Coeffs" entry only contains one set of coefficients for each
    -  atom type, after being read-in the appropriate class I or class II mixing
    -  rules are applied to compute the cross-type coefficients (see the file
    -  data_format for more information)
    -
    -
    -

    -read restart

    -
    -read atom positions and velocities and nonbond and bond coefficients
    -  from specified file
    -allows continuation of a previous run
    -file is binary to enable exact restarts
    -do not have to restart on same # of processors, but can only do exact
    -  restarts on same # of processors
    -when restart file is read, warnings are issued if certain parameters
    -  in the restart file do not match current settings (e.g. newton flag,
    -  dimension, periodicity, units) - this usually indicates an error
    -the restart file stores all nonbond and many-body styles and coefficients,
    -  so reading the file will overwrite any current settings
    -the restart file stores the constraint assignments for each atom, but
    -  not the constraints themselves, so they must still be specified with
    -  the "fix style" command
    -for a restart do not use the "read data" and "create temp" commands
    -
    -
    -

    -reset timestep

    -
    -explicitly reset the timestep to this value
    -the "read data" and "read restart" commands set the timestep to zero
    -  and file value respectively, so this should be done after those commands
    -
    -
    -

    -respa

    - -
    -factors that affect sub-cycling of force calculations within RESPA hierarchy
    -bonded intramolecular forces are calculated every innermost sub-timestep
    -bonded 3- and 4-body forces are computed every 1st parameter sub-timesteps
    -short-range nonbond pairwise forces (LJ, Coulombic) are computed every 
    -  (2nd parameter * 1st parameter) sub-timesteps
    -long-range (Ewald, PPPM) forces are computed every 
    -  (3rd parameter * 2nd parameter * 1st parameter) sub-timesteps
    -the timestepping for all 3 inner loops (bond, 3/4-body, nonbond) is performed
    -  as sub-cycling within the long-range timestepping loop
    -the fastest (innermost) timestep size is set by the "timestep" command
    -when running RESPA, all input commands that specify numbers of timesteps
    -  (e.g. run, thermo flag, restart flag, etc) refer to the outermost loop
    -  of long-range timestepping
    -the only exception to this rule is the "neighbor" command, where the timestep
    -  parameters refer to the nonbond (short-range) timestepping
    -setting all 3 parameters to 1 turns off RESPA
    -
    -Default = 1 1 1 (no RESPA)
    -
    -
    -

    -restart

    - -
    -create a restart file every this many timesteps
    -value of 0 means never create one
    -program will toggle between 2 filenames as the run progresses
    -  so always have at least one good file even if the program dies in mid-write
    -restart file stores atom positions and velocities in binary form
    -allows program to restart from where it left off (see "read restart" commmand)
    -
    -Default = 0
    -
    -
    -

    -run

    -
    -run or continue dynamics for specified # of timesteps
    -must have performed "read data"/"create temp" or "read restart"
    -  commands first
    -
    -
    -

    -special bonds

    - -
    -weighting factors to turn on/off nonbond interactions of atom pairs that
    -  are "close" in the molecular topology
    -1st nearest neighbors are a pair of atoms connected by a bond
    -2nd nearest neighbors are a pair of atoms 2 hops away, etc.
    -weight values are from 0.0 to 1.0 and are used to multiply the
    -  energy and force interaction (both Coulombic and LJ) between the 2 atoms
    -weight of 0.0 means no interaction
    -weight of 1.0 means full interaction
    -
    -Default = 0.0 0.0 0.4 (CHARMM standard)
    -
    -
    -

    -temp control

    - -
    -styles:  
    -
    - -
    -coeffs:  none
    -               no other parameters required
    -         rescale
    -               (1) desired T at beginning of run
    -               (2) desired T at end of run
    -               (3) check for rescaling every this many timesteps
    -               (4) T window outside of which velocities will be rescaled
    -         replace
    -               (1) desired T at beginning of run
    -               (2) desired T at end of run
    -               (3) do Gaussian replacement every this many timesteps
    -               (4) random # seed to use for replacement (0 < seed <= 8 digits)
    -         langevin
    -               (1) desired T at beginning of run
    -               (2) desired T at end of run
    -               (3) Langevin damping parameter (inverse time units)
    -               (4) random seed to use for white noise (0 < seed <= 8 digits)
    -         nose/hoover
    -               (1) desired T at beginning of run
    -               (2) desired T at end of run
    -               (3) frequency constant for friction force (inverse time units)
    -
    -use appropriate number of coeffs for a particular style
    -all specified temperatures are in temperature units
    -target temperature at intermediate points during run is a ramped value
    -  between the beginning and ending temperatures
    -for rescale style, temperature is controlled by explicitly rescaling
    -  velocities to exactly the target temperature
    -for rescale style, rescaling is only done if current temperature is
    -  beyond the target temperature plus or minus the window value
    -for replace style, Gaussian RNs from the Marsaglia RNG are used
    -for langevin style, uniform RNs from the Marsaglia RNG are used
    -for replace and langevin styles, the seed is used to initialize the
    -  Marsaglia RNG, on successive runs the RNG will just continue on
    -for replace and langevin styles, generated RNs depend on # of processors
    -  so will not get same answers independent of # of processors
    -for replace and langevin styles, RNG states are not saved in restart file,
    -  so cannot do an exact restart
    -for langevin style, damping parameter means small value -> less damping
    -for nose/hoover style, frequency constant is like an inverse "piston" 
    -  mass which determines how rapidly the temperature fluctuates in response to a
    -  restoring force, large frequency -> small mass -> rapid fluctations
    -for langevin and nose/hoover styles, units of frequency/damping constant are
    -  inverse time, so a value of 0.01 means relax in a timespan on the 
    -  order of 100 fmsec (real units) or 100 tau (LJ units)
    -
    -Default = none
    -
    -
    -

    -thermo flag

    -
    -print thermodynamic info to screen and log file every this many timesteps
    -value of 0 means never print
    -
    -Default = 0
    -
    -
    -

    -thermo style

    -
    -determines format of thermodynamic output to screen and log file
    -
    - -
    -Default = 0
    -
    -
    -

    -timestep

    -
    -timestep size for MD run (time units)
    -when RESPA is run, the timestep size is for the innermost (bond) loop
    -
    -Default = 1.0
    -
    -
    -

    -true flag

    -
    -read atom positions (see "read data" command) and dump atom positions
    -  (see "dump flag" command) in one of 2 formats
    -
    - -
    -for each dimension, box count of "n" means add that many box lengths
    -  to get "true" un-remapped position, "n" can be positive, negative, or zero
    -
    -Default = 0
    -
    -
    -

    -units

    - -
    -set units to one of two options for all subsequent input parameters
    -
    -option real = conventional units:
    -
    - -
    -option lj = LJ reduced units:
    -
    - -
    -for LJ units, LAMMPS sets global epsilon,sigma,mass all equal to 1.0
    -subsequent input numbers in data and command file must be in these units
    -output numbers to screen and log and dump files will be in these units
    -must be set before data or restart file is read
    -
    -Default = real
    -
    - - diff --git a/doc/html/99/units.html b/doc/html/99/units.html deleted file mode 100644 index bddf47e0ebadaf770c762c5a301d6da65311a0f1..0000000000000000000000000000000000000000 --- a/doc/html/99/units.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - -

    -LAMMPS Units

    -

    -Return to top-level LAMMPS documentation.

    -

    -This file describes the units associated with many of the key variables -and equations used inside the LAMMPS code. Units used for input command -parameters are described in the input_commands file. The input command -"units" selects between conventional and Lennard-Jones units. -See the force_fields file for more information on units for the force -field parameters that are input from data files.

    -

    -Conventional units:

    - -

    -LJ reduced units:

    - -
    -

    -This listing of variables assumes conventional units; to convert to LJ -reduced units, simply substitute the appropriate term from the list -above. E.g. x is in sigmas in LJ units. Per-mole in any of the units -simply means for 6.023 x 10^23 atoms.

    -

    -

    -
    -Meaning        Variable        Units
    -
    -positions      x               Angstroms
    -velocities     v               Angstroms / click (see below)
    -forces         f               Kcal / (mole - Angstrom)                
    -masses         mass            gram / mole
    -charges        q               electron units (-1 for an electron)
    -                                 (1 e.u. = 1.602 x 10^-19 coul)
    -
    -time           ---             clicks (1 click = 48.88821 fmsec)
    -timestep       dt              clicks
    -input timestep dt_in           fmsec
    -time convert   dtfactor        48.88821 fmsec / click
    -
    -temperature     t_current       degrees K
    -                t_start
    -                t_stop
    -input damping   t_freq_in       inverse fmsec
    -internal temp   t_freq          inverse clicks
    -  damping
    -
    -dielec const    dielectric      1.0 (unitless)
    -Boltmann const  boltz           0.001987191 Kcal / (mole - degree K)
    -
    -virial          virial[xyz]     Kcal/mole = r dot F
    -pressure factor pfactor         68589.796 (convert internal to atmospheres)
    -internal        p_current       Kcal / (mole - Angs^3)
    -  pressure      p_start
    -                p_stop
    -input press     p_start_in      atmospheres
    -                p_stop_in
    -output press    log file        atmospheres
    -input damping   p_freq_in       inverse time
    -internal press  p_freq          inverse clicks
    -  damping
    -
    -pot eng         e_potential     Kcal/mole
    -kin eng         e_kinetic       Kcal/mole
    -eng convert     efactor         332.0636 (Kcal - Ang) / (q^2 - mole)
    -                                (convert Coulomb eng to Kcal/mole)
    -
    -LJ coeffs       lja,ljb         Kcal-Angs^(6,12)/mole
    -
    -bond            various         see force_fields file
    -  parameters    2,3,4-body
    -                terms
    -
    - - diff --git a/doc/html/Manual.html b/doc/html/Manual.html deleted file mode 100644 index 9650fb0cae9c7664e901f04b85873902a4a78190..0000000000000000000000000000000000000000 --- a/doc/html/Manual.html +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - - - - - LAMMPS Documentation — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -

    -

    LAMMPS Documentation

    -
    -

    20 Sep 2016 version

    -
    -
    -

    Version info:

    -

    The LAMMPS “version” is the date when it was released, such as 1 May -2010. LAMMPS is updated continuously. Whenever we fix a bug or add a -feature, we release it immediately, and post a notice on this page of the WWW site. Every 2-4 months one of the incremental releases -is subjected to more thorough testing and labeled as a stable version.

    -

    Each dated copy of LAMMPS contains all the -features and bug-fixes up to and including that version date. The -version date is printed to the screen and logfile every time you run -LAMMPS. It is also in the file src/version.h and in the LAMMPS -directory name created when you unpack a tarball, and at the top of -the first page of the manual (this page).

    -
      -
    • If you browse the HTML doc pages on the LAMMPS WWW site, they always -describe the most current version of LAMMPS.
    • -
    • If you browse the HTML doc pages included in your tarball, they -describe the version you have.
    • -
    • The PDF file on the WWW site or in the tarball is updated -about once per month. This is because it is large, and we don’t want -it to be part of every patch.
    • -
    • There is also a Developer.pdf file in the doc -directory, which describes the internal structure and algorithms of -LAMMPS.
    • -
    -

    LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel -Simulator.

    -

    LAMMPS is a classical molecular dynamics simulation code designed to -run efficiently on parallel computers. It was developed at Sandia -National Laboratories, a US Department of Energy facility, with -funding from the DOE. It is an open-source code, distributed freely -under the terms of the GNU Public License (GPL).

    -

    The current core group of LAMMPS developers is at Sandia National -Labs and Temple University:

    -
      -
    • Steve Plimpton, sjplimp at sandia.gov
    • -
    • Aidan Thompson, athomps at sandia.gov
    • -
    • Stan Moore, stamoore at sandia.gov
    • -
    • Axel Kohlmeyer, akohlmey at gmail.com
    • -
    -

    Past core developers include Paul Crozier, Ray Shan and Mark Stevens, -all at Sandia. The LAMMPS home page at -http://lammps.sandia.gov has more information -about the code and its uses. Interaction with external LAMMPS developers, -bug reports and feature requests are mainly coordinated through the -LAMMPS project on GitHub. -The lammps.org domain, currently hosting public continuous integration testing and precompiled Linux RPM and Windows installer packages is located -at Temple University and managed by Richard Berger, -richard.berger at temple.edu.

    -
    -

    The LAMMPS documentation is organized into the following sections. If -you find errors or omissions in this manual or have suggestions for -useful information to add, please send an email to the developers so -we can improve the LAMMPS documentation.

    -

    Once you are familiar with LAMMPS, you may want to bookmark this page at Section_commands.html#comm since -it gives quick access to documentation for all LAMMPS commands.

    -

    PDF file of the entire manual, generated by -htmldoc

    -
    -

    User Documentation

    - -
    -
    -
    -
    -
    -
    -

    Indices and tables

    - -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/PDF/PDLammps_EPS.pdf b/doc/html/PDF/PDLammps_EPS.pdf deleted file mode 100644 index 65b313719c02d8281650872feab8da6d95c964ee..0000000000000000000000000000000000000000 Binary files a/doc/html/PDF/PDLammps_EPS.pdf and /dev/null differ diff --git a/doc/html/PDF/PDLammps_VES.pdf b/doc/html/PDF/PDLammps_VES.pdf deleted file mode 100644 index 6875e23a554495f26f4e6a3fa0d23fd6a7a23038..0000000000000000000000000000000000000000 Binary files a/doc/html/PDF/PDLammps_VES.pdf and /dev/null differ diff --git a/doc/html/PDF/PDLammps_overview.pdf b/doc/html/PDF/PDLammps_overview.pdf deleted file mode 100644 index 965f842babef55fad4f9582175db6f85394d4e68..0000000000000000000000000000000000000000 Binary files a/doc/html/PDF/PDLammps_overview.pdf and /dev/null differ diff --git a/doc/html/PDF/SMD_LAMMPS_userguide.pdf b/doc/html/PDF/SMD_LAMMPS_userguide.pdf deleted file mode 100644 index 50a5b7bb66c3b22a91afe3227c9554af70165303..0000000000000000000000000000000000000000 Binary files a/doc/html/PDF/SMD_LAMMPS_userguide.pdf and /dev/null differ diff --git a/doc/html/PDF/SPH_LAMMPS_userguide.pdf b/doc/html/PDF/SPH_LAMMPS_userguide.pdf deleted file mode 100755 index 7ca4a72910657f4a85b55b522a972239142ddd8c..0000000000000000000000000000000000000000 Binary files a/doc/html/PDF/SPH_LAMMPS_userguide.pdf and /dev/null differ diff --git a/doc/html/PDF/colvars-refman-lammps.pdf b/doc/html/PDF/colvars-refman-lammps.pdf deleted file mode 100644 index d1349fd42439be910d3177c5453da5a6e45ca655..0000000000000000000000000000000000000000 Binary files a/doc/html/PDF/colvars-refman-lammps.pdf and /dev/null differ diff --git a/doc/html/PDF/kspace.pdf b/doc/html/PDF/kspace.pdf deleted file mode 100755 index 9b4946f81cf09e06347dbf4477c3d2c0fa2abf78..0000000000000000000000000000000000000000 Binary files a/doc/html/PDF/kspace.pdf and /dev/null differ diff --git a/doc/html/PDF/pair_gayberne_extra.pdf b/doc/html/PDF/pair_gayberne_extra.pdf deleted file mode 100644 index c82233992d48be53584344510152bd8f5173d87a..0000000000000000000000000000000000000000 Binary files a/doc/html/PDF/pair_gayberne_extra.pdf and /dev/null differ diff --git a/doc/html/PDF/pair_gayberne_extra.tex b/doc/html/PDF/pair_gayberne_extra.tex deleted file mode 100644 index 5f0d97d7abb7862caba14ada74d108cd7fa5efe0..0000000000000000000000000000000000000000 --- a/doc/html/PDF/pair_gayberne_extra.tex +++ /dev/null @@ -1,167 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -\begin{center} - -\large{Additional documentation for the Gay-Berne ellipsoidal potential \\ - as implemented in LAMMPS} - -\end{center} - -\centerline{Mike Brown, Sandia National Labs, April 2007} - -\vspace{0.3in} - -The Gay-Berne anisotropic LJ interaction between pairs of dissimilar -ellipsoidal particles is given by - -$$ U ( \mathbf{A}_1, \mathbf{A}_2, \mathbf{r}_{12} ) = U_r ( -\mathbf{A}_1, \mathbf{A}_2, \mathbf{r}_{12}, \gamma ) \cdot \eta_{12} ( -\mathbf{A}_1, \mathbf{A}_2, \upsilon ) \cdot \chi_{12} ( \mathbf{A}_1, -\mathbf{A}_2, \mathbf{r}_{12}, \mu ) $$ - -where $\mathbf{A}_1$ and $\mathbf{A}_2$ are the transformation -matrices from the simulation box frame to the body frame and -$\mathbf{r}_{12}$ is the center to center vector between the -particles. $U_r$ controls the shifted distance dependent interaction -based on the distance of closest approach of the two particles -($h_{12}$) and the user-specified shift parameter gamma: - -$$ U_r = 4 \epsilon ( \varrho^{12} - \varrho^6) $$ - -$$ \varrho = \frac{\sigma}{ h_{12} + \gamma \sigma} $$ - -Let the shape matrices $\mathbf{S}_i=\mbox{diag}(a_i, b_i, c_i)$ be -given by the ellipsoid radii. The $\eta$ orientation-dependent energy -based on the user-specified exponent $\upsilon$ is given by - -$$ \eta_{12} = [ \frac{ 2 s_1 s_2 }{\det ( \mathbf{G}_{12} )}]^{ -\upsilon / 2 } , $$ - -$$ s_i = [a_i b_i + c_i c_i][a_i b_i]^{ 1 / 2 }, $$ - -and - -$$ \mathbf{G}_{12} = \mathbf{A}_1^T \mathbf{S}_1^2 \mathbf{A}_1 + -\mathbf{A}_2^T \mathbf{S}_2^2 \mathbf{A}_2 = \mathbf{G}_1 + -\mathbf{G}_2. $$ - -Let the relative energy matrices $\mathbf{E}_i = \mbox{diag} -(\epsilon_{ia}, \epsilon_{ib}, \epsilon_{ic})$ be given by -the relative well depths (dimensionless energy scales -inversely proportional to the well-depths of the respective -orthogonal configurations of the interacting molecules). The -$\chi$ orientation-dependent energy based on the user-specified -exponent $\mu$ is given by - -$$ \chi_{12} = [2 \hat{\mathbf{r}}_{12}^T \mathbf{B}_{12}^{-1} -\hat{\mathbf{r}}_{12}]^\mu, $$ - -$$ \hat{\mathbf{r}}_{12} = { \mathbf{r}_{12} } / |\mathbf{r}_{12}|, $$ - -and - -$$ \mathbf{B}_{12} = \mathbf{A}_1^T \mathbf{E}_1^2 \mathbf{A}_1 + -\mathbf{A}_2^T \mathbf{E}_2^2 \mathbf{A}_2 = \mathbf{B}_1 + -\mathbf{B}_2. $$ - -Here, we use the distance of closest approach approximation given by the -Perram reference, namely - -$$ h_{12} = r - \sigma_{12} ( \mathbf{A}_1, \mathbf{A}_2, -\mathbf{r}_{12} ), $$ - -$$ r = |\mathbf{r}_{12}|, $$ - -and - -$$ \sigma_{12} = [ \frac{1}{2} \hat{\mathbf{r}}_{12}^T -\mathbf{G}_{12}^{-1} \hat{\mathbf{r}}_{12}.]^{ -1/2 } $$ - -Forces and Torques: Because the analytic forces and torques have not -been published for this potential, we list them here: - -$$ \mathbf{f} = - \eta_{12} ( U_r \cdot { \frac{\partial \chi_{12} -}{\partial r} } + \chi_{12} \cdot { \frac{\partial U_r }{\partial r} } -) $$ - -where the derivative of $U_r$ is given by (see Allen reference) - -$$ \frac{\partial U_r }{\partial r} = \frac{ \partial U_{SLJ} }{ -\partial r } \hat{\mathbf{r}}_{12} + r^{-2} \frac{ \partial U_{SLJ} }{ -\partial \varphi } [ \mathbf{\kappa} - ( \mathbf{\kappa}^T \cdot -\hat{\mathbf{r}}_{12}) \hat{\mathbf{r}}_{12} ], $$ - -$$ \frac{ \partial U_{SLJ} }{ \partial \varphi } = 24 \epsilon ( 2 -\varrho^{13} - \varrho^7 ) \sigma_{12}^3 / 2 \sigma, $$ - -$$ \frac{ \partial U_{SLJ} }{ \partial r } = 24 \epsilon ( 2 -\varrho^{13} - \varrho^7 ) / \sigma, $$ - -and - -$$ \mathbf{\kappa} = \mathbf{G}_{12}^{-1} \cdot \mathbf{r}_{12}. $$ - -The derivate of the $\chi$ term is given by - -$$ \frac{\partial \chi_{12} }{\partial r} = - r^{-2} \cdot 4.0 \cdot [ -\mathbf{\iota} - ( \mathbf{\iota}^T \cdot \hat{\mathbf{r}}_{12} ) -\hat{\mathbf{r}}_{12} ] \cdot \mu \cdot \chi_{12}^{ ( \mu -1 ) / \mu -}, $$ - -and - -$$ \mathbf{\iota} = \mathbf{B}_{12}^{-1} \cdot \mathbf{r}_{12}. $$ - -The torque is given by: - -$$ \mathbf{\tau}_i = U_r \eta_{12} \frac{ \partial \chi_{12} }{ -\partial \mathbf{q}_i } + \chi_{12} ( U_r \frac{ \partial \eta_{12} }{ -\partial \mathbf{q}_i } + \eta_{12} \frac{ \partial U_r }{ \partial -\mathbf{q}_i } ), $$ - -$$ \frac{ \partial U_r }{ \partial \mathbf{q}_i } = \mathbf{A}_i \cdot -(- \mathbf{\kappa}^T \cdot \mathbf{G}_i \times \mathbf{f}_k ), $$ - -$$ \mathbf{f}_k = - r^{-2} \frac{ \delta U_{SLJ} }{ \delta \varphi } -\mathbf{\kappa}, $$ - -and - -$$ \frac{ \partial \chi_{12} }{ \partial \mathbf{q}_i } = 4.0 \cdot -r^{-2} \cdot \mathbf{A}_i (- \mathbf{\iota}^T \cdot \mathbf{B}_i -\times \mathbf{\iota} ). $$ - -For the derivative of the $\eta$ term, we were unable to find a matrix -expression due to the determinant. Let $a_{mi}$ be the mth row of the -rotation matrix $A_i$. Then, - -$$ \frac{ \partial \eta_{12} }{ \partial \mathbf{q}_i } = \mathbf{A}_i -\cdot \sum_m \mathbf{a}_{mi} \times \frac{ \partial \eta_{12} }{ -\partial \mathbf{a}_{mi} } = \mathbf{A}_i \cdot \sum_m \mathbf{a}_{mi} -\times \mathbf{d}_{mi}, $$ - -where $d_mi$ represents the mth row of a derivative matrix $D_i$, - -$$ \mathbf{D}_i = - \frac{1}{2} \cdot ( \frac{2s1s2}{\det ( -\mathbf{G}_{12} ) } )^{ \upsilon / 2 } \cdot {\frac{\upsilon}{\det ( -\mathbf{G}_{12} ) }} \cdot \mathbf{E}, $$ - -where the matrix $E$ gives the derivate with respect to the rotation -matrix, - -$$ \mathbf{E} = [ e_{my} ] = \frac{ \partial \eta_{12} }{ \partial -\mathbf{A}_i }, $$ - -and - -$$ e_{my} = \det ( \mathbf{G}_{12} ) \cdot \mbox{trace} [ -\mathbf{G}_{12}^{-1} \cdot ( \hat{\mathbf{p}}_y \otimes \mathbf{a}_m + -\mathbf{a}_m \otimes \hat{\mathbf{p}}_y ) \cdot s_{mm}^2 ]. $$ - -Here, $p_v$ is the unit vector for the axes in the lab frame $(p1=[1, 0, -0], p2=[0, 1, 0], and p3=[0, 0, 1])$ and $s_{mm}$ gives the mth radius of -the ellipsoid $i$. - -\end{document} diff --git a/doc/html/PDF/pair_resquared_extra.pdf b/doc/html/PDF/pair_resquared_extra.pdf deleted file mode 100644 index c7956b37ee63c35153802241d6d4d613129a7dc0..0000000000000000000000000000000000000000 Binary files a/doc/html/PDF/pair_resquared_extra.pdf and /dev/null differ diff --git a/doc/html/PDF/pair_resquared_extra.tex b/doc/html/PDF/pair_resquared_extra.tex deleted file mode 100644 index 945ee562d7040c193cdc622ff8da091a6ca872e1..0000000000000000000000000000000000000000 --- a/doc/html/PDF/pair_resquared_extra.tex +++ /dev/null @@ -1,113 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -\begin{center} - -\large{Additional documentation for the RE-squared ellipsoidal potential \\ - as implemented in LAMMPS} - -\end{center} - -\centerline{Mike Brown, Sandia National Labs, October 2007} - -\vspace{0.3in} - -Let the shape matrices $\mathbf{S}_i=\mbox{diag}(a_i, b_i, c_i)$ be -given by the ellipsoid radii. Let the relative energy matrices -$\mathbf{E}_i = \mbox{diag} (\epsilon_{ia}, \epsilon_{ib}, -\epsilon_{ic})$ be given by the relative well depths -(dimensionless energy scales inversely proportional to the well-depths -of the respective orthogonal configurations of the interacting molecules). -Let $\mathbf{A}_1$ and $\mathbf{A}_2$ be the transformation matrices -from the simulation box frame to the body frame and $\mathbf{r}$ -be the center to center vector between the particles. Let $A_{12}$ be -the Hamaker constant for the interaction given in LJ units by -$A_{12}=4\pi^2\epsilon_{\mathrm{LJ}}(\rho\sigma^3)^2$. - -\vspace{0.3in} - -The RE-squared anisotropic interaction between pairs of -ellipsoidal particles is given by - -$$ U=U_A+U_R, $$ - -$$ U_\alpha=\frac{A_{12}}{m_\alpha}(\frac\sigma{h})^{n_\alpha} -(1+o_\alpha\eta\chi\frac\sigma{h}) \times \prod_i{ -\frac{a_ib_ic_i}{(a_i+h/p_\alpha)(b_i+h/p_\alpha)(c_i+h/p_\alpha)}}, $$ - -$$ m_A=-36, n_A=0, o_A=3, p_A=2, $$ - -$$ m_R=2025, n_R=6, o_R=45/56, p_R=60^{1/3}, $$ - -$$ \chi = 2 \hat{\mathbf{r}}^T \mathbf{B}^{-1} -\hat{\mathbf{r}}, $$ - -$$ \hat{\mathbf{r}} = { \mathbf{r} } / |\mathbf{r}|, $$ - -$$ \mathbf{B} = \mathbf{A}_1^T \mathbf{E}_1 \mathbf{A}_1 + -\mathbf{A}_2^T \mathbf{E}_2 \mathbf{A}_2 $$ - -$$ \eta = \frac{ \det[\mathbf{S}_1]/\sigma_1^2+ -det[\mathbf{S}_2]/\sigma_2^2}{[\det[\mathbf{H}]/ -(\sigma_1+\sigma_2)]^{1/2}}, $$ - -$$ \sigma_i = (\hat{\mathbf{r}}^T\mathbf{A}_i^T\mathbf{S}_i^{-2} -\mathbf{A}_i\hat{\mathbf{r}})^{-1/2}, $$ - -$$ \mathbf{H} = \frac{1}{\sigma_1}\mathbf{A}_1^T \mathbf{S}_1^2 \mathbf{A}_1 + -\frac{1}{\sigma_2}\mathbf{A}_2^T \mathbf{S}_2^2 \mathbf{A}_2 $$ - - -Here, we use the distance of closest approach approximation given by the -Perram reference, namely - -$$ h = |r| - \sigma_{12}, $$ - -$$ \sigma_{12} = [ \frac{1}{2} \hat{\mathbf{r}}^T -\mathbf{G}^{-1} \hat{\mathbf{r}}]^{ -1/2 }, $$ - -and - -$$ \mathbf{G} = \mathbf{A}_1^T \mathbf{S}_1^2 \mathbf{A}_1 + -\mathbf{A}_2^T \mathbf{S}_2^2 \mathbf{A}_2 $$ - -\vspace{0.3in} - -The RE-squared anisotropic interaction between a -ellipsoidal particle and a Lennard-Jones sphere is defined -as the $\lim_{a_2->0}U$ under the constraints that -$a_2=b_2=c_2$ and $\frac{4}{3}\pi a_2^3\rho=1$: - -$$ U_{\mathrm{elj}}=U_{A_{\mathrm{elj}}}+U_{R_{\mathrm{elj}}}, $$ - -$$ U_{\alpha_{\mathrm{elj}}}=(\frac{3\sigma^3c_\alpha^3} -{4\pi h_{\mathrm{elj}}^3})\frac{A_{12_{\mathrm{elj}}}} -{m_\alpha}(\frac\sigma{h_{\mathrm{elj}}})^{n_\alpha} -(1+o_\alpha\chi_{\mathrm{elj}}\frac\sigma{h_{\mathrm{elj}}}) \times -\frac{a_1b_1c_1}{(a_1+h_{\mathrm{elj}}/p_\alpha) -(b_1+h_{\mathrm{elj}}/p_\alpha)(c_1+h_{\mathrm{elj}}/p_\alpha)}, $$ - -$$ A_{12_{\mathrm{elj}}}=4\pi^2\epsilon_{\mathrm{LJ}}(\rho\sigma^3), $$ - -with $h_{\mathrm{elj}}$ and $\chi_{\mathrm{elj}}$ calculated as above -by replacing $B$ with $B_{\mathrm{elj}}$ and $G$ with $G_{\mathrm{elj}}$: - -$$ \mathbf{B}_{\mathrm{elj}} = \mathbf{A}_1^T \mathbf{E}_1 \mathbf{A}_1 + I, $$ - -$$ \mathbf{G}_{\mathrm{elj}} = \mathbf{A}_1^T \mathbf{S}_1^2 \mathbf{A}_1.$$ - -\vspace{0.3in} - -The interaction between two LJ spheres is calculated as: - -$$ - U_{\mathrm{lj}} = 4 \epsilon \left[ \left(\frac{\sigma}{|\mathbf{r}|}\right)^{12} - - \left(\frac{\sigma}{|\mathbf{r}|}\right)^6 \right] -$$ - -\vspace{0.3in} - -The analytic derivatives are used for all force and torque calculation. - -\end{document} diff --git a/doc/html/Section_accelerate.html b/doc/html/Section_accelerate.html deleted file mode 100644 index 5e95626343db2254a5ea9e0bfbc1137d6d153064..0000000000000000000000000000000000000000 --- a/doc/html/Section_accelerate.html +++ /dev/null @@ -1,613 +0,0 @@ - - - - - - - - - - - 5. Accelerating LAMMPS performance — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    5. Accelerating LAMMPS performance

    -

    This section describes various methods for improving LAMMPS -performance for different classes of problems running on different -kinds of machines.

    -

    There are two thrusts to the discussion that follows. The -first is using code options that implement alternate algorithms -that can speed-up a simulation. The second is to use one -of the several accelerator packages provided with LAMMPS that -contain code optimized for certain kinds of hardware, including -multi-core CPUs, GPUs, and Intel Xeon Phi coprocessors.

    - -

    The Benchmark page of the LAMMPS -web site gives performance results for the various accelerator -packages discussed in Section 5.2, for several of the standard LAMMPS -benchmark problems, as a function of problem size and number of -compute nodes, on different hardware platforms.

    -
    -

    5.1. Measuring performance

    -

    Before trying to make your simulation run faster, you should -understand how it currently performs and where the bottlenecks are.

    -

    The best way to do this is run the your system (actual number of -atoms) for a modest number of timesteps (say 100 steps) on several -different processor counts, including a single processor if possible. -Do this for an equilibrium version of your system, so that the -100-step timings are representative of a much longer run. There is -typically no need to run for 1000s of timesteps to get accurate -timings; you can simply extrapolate from short runs.

    -

    For the set of runs, look at the timing data printed to the screen and -log file at the end of each LAMMPS run. This section of the manual has an overview.

    -

    Running on one (or a few processors) should give a good estimate of -the serial performance and what portions of the timestep are taking -the most time. Running the same problem on a few different processor -counts should give an estimate of parallel scalability. I.e. if the -simulation runs 16x faster on 16 processors, its 100% parallel -efficient; if it runs 8x faster on 16 processors, it’s 50% efficient.

    -

    The most important data to look at in the timing info is the timing -breakdown and relative percentages. For example, trying different -options for speeding up the long-range solvers will have little impact -if they only consume 10% of the run time. If the pairwise time is -dominating, you may want to look at GPU or OMP versions of the pair -style, as discussed below. Comparing how the percentages change as -you increase the processor count gives you a sense of how different -operations within the timestep are scaling. Note that if you are -running with a Kspace solver, there is additional output on the -breakdown of the Kspace time. For PPPM, this includes the fraction -spent on FFTs, which can be communication intensive.

    -

    Another important detail in the timing info are the histograms of -atoms counts and neighbor counts. If these vary widely across -processors, you have a load-imbalance issue. This often results in -inaccurate relative timing data, because processors have to wait when -communication occurs for other processors to catch up. Thus the -reported times for “Communication” or “Other” may be higher than they -really are, due to load-imbalance. If this is an issue, you can -uncomment the MPI_Barrier() lines in src/timer.cpp, and recompile -LAMMPS, to obtain synchronized timings.

    -
    -
    -
    -

    5.2. General strategies

    -
    -

    Note

    -

    this section 5.2 is still a work in progress

    -
    -

    Here is a list of general ideas for improving simulation performance. -Most of them are only applicable to certain models and certain -bottlenecks in the current performance, so let the timing data you -generate be your guide. It is hard, if not impossible, to predict how -much difference these options will make, since it is a function of -problem size, number of processors used, and your machine. There is -no substitute for identifying performance bottlenecks, and trying out -various options.

    -
      -
    • rRESPA
    • -
    • 2-FFT PPPM
    • -
    • Staggered PPPM
    • -
    • single vs double PPPM
    • -
    • partial charge PPPM
    • -
    • verlet/split run style
    • -
    • processor command for proc layout and numa layout
    • -
    • load-balancing: balance and fix balance
    • -
    -

    2-FFT PPPM, also called analytic differentiation or ad PPPM, uses -2 FFTs instead of the 4 FFTs used by the default ik differentiation -PPPM. However, 2-FFT PPPM also requires a slightly larger mesh size to -achieve the same accuracy as 4-FFT PPPM. For problems where the FFT -cost is the performance bottleneck (typically large problems running -on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM.

    -

    Staggered PPPM performs calculations using two different meshes, one -shifted slightly with respect to the other. This can reduce force -aliasing errors and increase the accuracy of the method, but also -doubles the amount of work required. For high relative accuracy, using -staggered PPPM allows one to half the mesh size in each dimension as -compared to regular PPPM, which can give around a 4x speedup in the -kspace time. However, for low relative accuracy, using staggered PPPM -gives little benefit and can be up to 2x slower in the kspace -time. For example, the rhodopsin benchmark was run on a single -processor, and results for kspace time vs. relative accuracy for the -different methods are shown in the figure below. For this system, -staggered PPPM (using ik differentiation) becomes useful when using a -relative accuracy of slightly greater than 1e-5 and above.

    -_images/rhodo_staggered.jpg -
    -

    Note

    -

    Using staggered PPPM may not give the same increase in accuracy -of energy and pressure as it does in forces, so some caution must be -used if energy and/or pressure are quantities of interest, such as -when using a barostat.

    -
    -
    -
    -
    -

    5.3. Packages with optimized styles

    -

    Accelerated versions of various pair_style, -fixes, computes, and other commands have -been added to LAMMPS, which will typically run faster than the -standard non-accelerated versions. Some require appropriate hardware -to be present on your system, e.g. GPUs or Intel Xeon Phi -coprocessors.

    -

    All of these commands are in packages provided with LAMMPS. An -overview of packages is give in Section packages.

    -

    These are the accelerator packages -currently in LAMMPS, either as standard or user packages:

    - ---- - - - - - - - - - - - - - - - - - -
    GPU Packagefor NVIDIA GPUs as well as OpenCL support
    USER-INTEL Packagefor Intel CPUs and Intel Xeon Phi
    KOKKOS Packagefor Nvidia GPUs, Intel Xeon Phi, and OpenMP threading
    USER-OMP Packagefor OpenMP threading and generic CPU optimizations
    OPT Packagegeneric CPU optimizations
    -
    -
    -

    Inverting this list, LAMMPS currently has acceleration support for -three kinds of hardware, via the listed packages:

    - ---- - - - - - - - - - - - -
    Many-core CPUsUSER-INTEL, KOKKOS, USER-OMP, OPT packages
    NVIDIA GPUsGPU, KOKKOS packages
    Intel PhiUSER-INTEL, KOKKOS packages
    -

    Which package is fastest for your hardware may depend on the size -problem you are running and what commands (accelerated and -non-accelerated) are invoked by your input script. While these doc -pages include performance guidelines, there is no substitute for -trying out the different packages appropriate to your hardware.

    -

    Any accelerated style has the same name as the corresponding standard -style, except that a suffix is appended. Otherwise, the syntax for -the command that uses the style is identical, their functionality is -the same, and the numerical results it produces should also be the -same, except for precision and round-off effects.

    -

    For example, all of these styles are accelerated variants of the -Lennard-Jones pair_style lj/cut:

    - -

    To see what accelerate styles are currently available, see -Section 3.5 of the manual. The -doc pages for individual commands (e.g. pair lj/cut or -fix nve) also list any accelerated variants available -for that style.

    -

    To use an accelerator package in LAMMPS, and one or more of the styles -it provides, follow these general steps. Details vary from package to -package and are explained in the individual accelerator doc pages, -listed above:

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
    build the accelerator libraryonly for GPU package
    install the accelerator packagemake yes-opt, make yes-user-intel, etc
    add compile/link flags to Makefile.machine in src/MAKEonly for USER-INTEL, KOKKOS, USER-OMP, OPT packages
    re-build LAMMPSmake machine
    prepare and test a regular LAMMPS simulationlmp_machine -in in.script; mpirun -np 32 lmp_machine -in in.script
    enable specific accelerator support via ‘-k on’ command-line switch,only needed for KOKKOS package
    set any needed options for the package via “-pk” command-line switch or package command,only if defaults need to be changed
    use accelerated styles in your input via “-sf” command-line switch or suffix commandlmp_machine -in in.script -sf gpu
    -

    Note that the first 4 steps can be done as a single command, using the -src/Make.py tool. This tool is discussed in Section 2.4 of the manual, and its use is -illustrated in the individual accelerator sections. Typically these -steps only need to be done once, to create an executable that uses one -or more accelerator packages.

    -

    The last 4 steps can all be done from the command-line when LAMMPS is -launched, without changing your input script, as illustrated in the -individual accelerator sections. Or you can add -package and suffix commands to your input -script.

    -
    -

    Note

    -

    With a few exceptions, you can build a single LAMMPS executable -with all its accelerator packages installed. Note however that the -USER-INTEL and KOKKOS packages require you to choose one of their -hardware options when building for a specific platform. I.e. CPU or -Phi option for the USER-INTEL package. Or the OpenMP, Cuda, or Phi -option for the KOKKOS package.

    -
    -

    These are the exceptions. You cannot build a single executable with:

    -
      -
    • both the USER-INTEL Phi and KOKKOS Phi options
    • -
    • the USER-INTEL Phi or Kokkos Phi option, and the GPU package
    • -
    -

    See the examples/accelerate/README and make.list files for sample -Make.py commands that build LAMMPS with any or all of the accelerator -packages. As an example, here is a command that builds with all the -GPU related packages installed (GPU, KOKKOS with Cuda), including -settings to build the needed auxiliary GPU libraries for Kepler GPUs:

    -
    Make.py -j 16 -p omp gpu kokkos -cc nvcc wrap=mpi   -gpu mode=double arch=35 -kokkos cuda arch=35 lib-all file mpi
    -
    -
    -

    The examples/accelerate directory also has input scripts that can be -used with all of the accelerator packages. See its README file for -details.

    -

    Likewise, the bench directory has FERMI and KEPLER and PHI -sub-directories with Make.py commands and input scripts for using all -the accelerator packages on various machines. See the README files in -those dirs.

    -

    As mentioned above, the Benchmark page of the LAMMPS web site gives -performance results for the various accelerator packages for several -of the standard LAMMPS benchmark problems, as a function of problem -size and number of compute nodes, on different hardware platforms.

    -

    Here is a brief summary of what the various packages provide. Details -are in the individual accelerator sections.

    -
      -
    • Styles with a “gpu” suffix are part of the GPU package, and can be run -on NVIDIA GPUs. The speed-up on a GPU depends on a variety of -factors, discussed in the accelerator sections.
    • -
    • Styles with an “intel” suffix are part of the USER-INTEL -package. These styles support vectorized single and mixed precision -calculations, in addition to full double precision. In extreme cases, -this can provide speedups over 3.5x on CPUs. The package also -supports acceleration in “offload” mode to Intel(R) Xeon Phi(TM) -coprocessors. This can result in additional speedup over 2x depending -on the hardware configuration.
    • -
    • Styles with a “kk” suffix are part of the KOKKOS package, and can be -run using OpenMP on multicore CPUs, on an NVIDIA GPU, or on an Intel -Xeon Phi in “native” mode. The speed-up depends on a variety of -factors, as discussed on the KOKKOS accelerator page.
    • -
    • Styles with an “omp” suffix are part of the USER-OMP package and allow -a pair-style to be run in multi-threaded mode using OpenMP. This can -be useful on nodes with high-core counts when using less MPI processes -than cores is advantageous, e.g. when running with PPPM so that FFTs -are run on fewer MPI processors or when the many MPI tasks would -overload the available bandwidth for communication.
    • -
    • Styles with an “opt” suffix are part of the OPT package and typically -speed-up the pairwise calculations of your simulation by 5-25% on a -CPU.
    • -
    -

    The individual accelerator package doc pages explain:

    -
      -
    • what hardware and software the accelerated package requires
    • -
    • how to build LAMMPS with the accelerated package
    • -
    • how to run with the accelerated package either via command-line switches or modifying the input script
    • -
    • speed-ups to expect
    • -
    • guidelines for best performance
    • -
    • restrictions
    • -
    -
    -
    -
    -

    5.4. Comparison of various accelerator packages

    -
    -

    Note

    -

    this section still needs to be re-worked with additional KOKKOS -and USER-INTEL information.

    -
    -

    The next section compares and contrasts the various accelerator -options, since there are multiple ways to perform OpenMP threading, -run on GPUs, and run on Intel Xeon Phi coprocessors.

    -

    All 3 of these packages accelerate a LAMMPS calculation using NVIDIA -hardware, but they do it in different ways.

    -

    As a consequence, for a particular simulation on specific hardware, -one package may be faster than the other. We give guidelines below, -but the best way to determine which package is faster for your input -script is to try both of them on your machine. See the benchmarking -section below for examples where this has been done.

    -

    Guidelines for using each package optimally:

    -
      -
    • The GPU package allows you to assign multiple CPUs (cores) to a single -GPU (a common configuration for “hybrid” nodes that contain multicore -CPU(s) and GPU(s)) and works effectively in this mode.
    • -
    • The GPU package moves per-atom data (coordinates, forces) -back-and-forth between the CPU and GPU every timestep. The -KOKKOS/CUDA package only does this on timesteps when a CPU calculation -is required (e.g. to invoke a fix or compute that is non-GPU-ized). -Hence, if you can formulate your input script to only use GPU-ized -fixes and computes, and avoid doing I/O too often (thermo output, dump -file snapshots, restart files), then the data transfer cost of the -KOKKOS/CUDA package can be very low, causing it to run faster than the -GPU package.
    • -
    • The GPU package is often faster than the KOKKOS/CUDA package, if the -number of atoms per GPU is smaller. The crossover point, in terms of -atoms/GPU at which the KOKKOS/CUDA package becomes faster depends -strongly on the pair style. For example, for a simple Lennard Jones -system the crossover (in single precision) is often about 50K-100K -atoms per GPU. When performing double precision calculations the -crossover point can be significantly smaller.
    • -
    • Both packages compute bonded interactions (bonds, angles, etc) on the -CPU. If the GPU package is running with several MPI processes -assigned to one GPU, the cost of computing the bonded interactions is -spread across more CPUs and hence the GPU package can run faster.
    • -
    • When using the GPU package with multiple CPUs assigned to one GPU, its -performance depends to some extent on high bandwidth between the CPUs -and the GPU. Hence its performance is affected if full 16 PCIe lanes -are not available for each GPU. In HPC environments this can be the -case if S2050/70 servers are used, where two devices generally share -one PCIe 2.0 16x slot. Also many multi-GPU mainboards do not provide -full 16 lanes to each of the PCIe 2.0 16x slots.
    • -
    -

    Differences between the two packages:

    -
      -
    • The GPU package accelerates only pair force, neighbor list, and PPPM -calculations.
    • -
    • The GPU package requires neighbor lists to be built on the CPU when using -exclusion lists, hybrid pair styles, or a triclinic simulation box.
    • -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_commands.html b/doc/html/Section_commands.html deleted file mode 100644 index a9d08d0cbd6c113080f4abba130ea22388c35dd4..0000000000000000000000000000000000000000 --- a/doc/html/Section_commands.html +++ /dev/null @@ -1,1598 +0,0 @@ - - - - - - - - - - - 3. Commands — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    3. Commands

    -

    This section describes how a LAMMPS input script is formatted and the -input script commands used to define a LAMMPS simulation.

    - -
    -

    3.1. LAMMPS input script

    -

    LAMMPS executes by reading commands from a input script (text file), -one line at a time. When the input script ends, LAMMPS exits. Each -command causes LAMMPS to take some action. It may set an internal -variable, read in a file, or run a simulation. Most commands have -default settings, which means you only need to use the command if you -wish to change the default.

    -

    In many cases, the ordering of commands in an input script is not -important. However the following rules apply:

    -

    (1) LAMMPS does not read your entire input script and then perform a -simulation with all the settings. Rather, the input script is read -one line at a time and each command takes effect when it is read. -Thus this sequence of commands:

    -
    timestep 0.5
    -run      100
    -run      100
    -
    -
    -

    does something different than this sequence:

    -
    run      100
    -timestep 0.5
    -run      100
    -
    -
    -

    In the first case, the specified timestep (0.5 fmsec) is used for two -simulations of 100 timesteps each. In the 2nd case, the default -timestep (1.0 fmsec) is used for the 1st 100 step simulation and a 0.5 -fmsec timestep is used for the 2nd one.

    -

    (2) Some commands are only valid when they follow other commands. For -example you cannot set the temperature of a group of atoms until atoms -have been defined and a group command is used to define which atoms -belong to the group.

    -

    (3) Sometimes command B will use values that can be set by command A. -This means command A must precede command B in the input script if it -is to have the desired effect. For example, the -read_data command initializes the system by setting -up the simulation box and assigning atoms to processors. If default -values are not desired, the processors and -boundary commands need to be used before read_data to -tell LAMMPS how to map processors to the simulation box.

    -

    Many input script errors are detected by LAMMPS and an ERROR or -WARNING message is printed. This section gives -more information on what errors mean. The documentation for each -command lists restrictions on how the command can be used.

    -
    -
    -
    -

    3.2. Parsing rules

    -

    Each non-blank line in the input script is treated as a command. -LAMMPS commands are case sensitive. Command names are lower-case, as -are specified command arguments. Upper case letters may be used in -file names or user-chosen ID strings.

    -

    Here is how each line in the input script is parsed by LAMMPS:

    -

    (1) If the last printable character on the line is a “&” character, -the command is assumed to continue on the next line. The next line is -concatenated to the previous line by removing the “&” character and -line break. This allows long commands to be continued across two or -more lines. See the discussion of triple quotes in (6) for how to -continue a command across multiple line without using “&” characters.

    -

    (2) All characters from the first “#” character onward are treated as -comment and discarded. See an exception in (6). Note that a -comment after a trailing “&” character will prevent the command from -continuing on the next line. Also note that for multi-line commands a -single leading “#” will comment out the entire command.

    -

    (3) The line is searched repeatedly for $ characters, which indicate -variables that are replaced with a text string. See an exception in -(6).

    -

    If the $ is followed by curly brackets, then the variable name is the -text inside the curly brackets. If no curly brackets follow the $, -then the variable name is the single character immediately following -the $. Thus ${myTemp} and $x refer to variable names “myTemp” and -“x”.

    -

    How the variable is converted to a text string depends on what style -of variable it is; see the variable doc page for details. -It can be a variable that stores multiple text strings, and return one -of them. The returned text string can be multiple “words” (space -separated) which will then be interpreted as multiple arguments in the -input command. The variable can also store a numeric formula which -will be evaluated and its numeric result returned as a string.

    -

    As a special case, if the $ is followed by parenthesis, then the text -inside the parenthesis is treated as an “immediate” variable and -evaluated as an equal-style variable. This is a way -to use numeric formulas in an input script without having to assign -them to variable names. For example, these 3 input script lines:

    -
    -variable X equal (xlo+xhi)/2+sqrt(v_area)
    -region 1 block $X 2 INF INF EDGE EDGE
    -variable X delete
    -
    -

    can be replaced by

    -
    -region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE
    -
    -

    so that you do not have to define (or discard) a temporary variable X.

    -

    Note that neither the curly-bracket or immediate form of variables can -contain nested $ characters for other variables to substitute for. -Thus you cannot do this:

    -
    variable        a equal 2
    -variable        b2 equal 4
    -print           "B2 = ${b$a}"
    -
    -
    -

    Nor can you specify this $($x-1.0) for an immediate variable, but -you could use $(v_x-1.0), since the latter is valid syntax for an -equal-style variable.

    -

    See the variable command for more details of how -strings are assigned to variables and evaluated, and how they can be -used in input script commands.

    -

    (4) The line is broken into “words” separated by whitespace (tabs, -spaces). Note that words can thus contain letters, digits, -underscores, or punctuation characters.

    -

    (5) The first word is the command name. All successive words in the -line are arguments.

    -

    (6) If you want text with spaces to be treated as a single argument, -it can be enclosed in either single or double or triple quotes. A -long single argument enclosed in single or double quotes can span -multiple lines if the “&” character is used, as described above. When -the lines are concatenated together (and the “&” characters and line -breaks removed), the text will become a single line. If you want -multiple lines of an argument to retain their line breaks, the text -can be enclosed in triple quotes, in which case “&” characters are not -needed. For example:

    -
    print "Volume = $v"
    -print 'Volume = $v'
    -if "${steps} > 1000" then quit
    -variable a string "red green blue &
    -                   purple orange cyan"
    -print """
    -System volume = $v
    -System temperature = $t
    -"""
    -
    -
    -

    In each case, the single, double, or triple quotes are removed when -the single argument they enclose is stored internally.

    -

    See the dump modify format, print, -if, and python commands for examples.

    -

    A “#” or “$” character that is between quotes will not be treated as a -comment indicator in (2) or substituted for as a variable in (3).

    -
    -

    Note

    -

    If the argument is itself a command that requires a quoted -argument (e.g. using a print command as part of an -if or run every command), then single, double, or -triple quotes can be nested in the usual manner. See the doc pages -for those commands for examples. Only one of level of nesting is -allowed, but that should be sufficient for most use cases.

    -
    -
    -
    -
    -

    3.3. Input script structure

    -

    This section describes the structure of a typical LAMMPS input script. -The “examples” directory in the LAMMPS distribution contains many -sample input scripts; the corresponding problems are discussed in -Section 7, and animated on the LAMMPS WWW Site.

    -

    A LAMMPS input script typically has 4 parts:

    -
      -
    1. Initialization
    2. -
    3. Atom definition
    4. -
    5. Settings
    6. -
    7. Run a simulation
    8. -
    -

    The last 2 parts can be repeated as many times as desired. I.e. run a -simulation, change some settings, run some more, etc. Each of the 4 -parts is now described in more detail. Remember that almost all the -commands need only be used if a non-default value is desired.

    -
      -
    1. Initialization
    2. -
    -

    Set parameters that need to be defined before atoms are created or -read-in from a file.

    -

    The relevant commands are units, -dimension, newton, -processors, boundary, -atom_style, atom_modify.

    -

    If force-field parameters appear in the files that will be read, these -commands tell LAMMPS what kinds of force fields are being used: -pair_style, bond_style, -angle_style, dihedral_style, -improper_style.

    -
      -
    1. Atom definition
    2. -
    -

    There are 3 ways to define atoms in LAMMPS. Read them in from a data -or restart file via the read_data or -read_restart commands. These files can contain -molecular topology information. Or create atoms on a lattice (with no -molecular topology), using these commands: lattice, -region, create_box, -create_atoms. The entire set of atoms can be -duplicated to make a larger simulation using the -replicate command.

    -
      -
    1. Settings
    2. -
    -

    Once atoms and molecular topology are defined, a variety of settings -can be specified: force field coefficients, simulation parameters, -output options, etc.

    -

    Force field coefficients are set by these commands (they can also be -set in the read-in files): pair_coeff, -bond_coeff, angle_coeff, -dihedral_coeff, -improper_coeff, -kspace_style, dielectric, -special_bonds.

    -

    Various simulation parameters are set by these commands: -neighbor, neigh_modify, -group, timestep, -reset_timestep, run_style, -min_style, min_modify.

    -

    Fixes impose a variety of boundary conditions, time integration, and -diagnostic options. The fix command comes in many flavors.

    -

    Various computations can be specified for execution during a -simulation using the compute, -compute_modify, and variable -commands.

    -

    Output options are set by the thermo, dump, -and restart commands.

    -
      -
    1. Run a simulation
    2. -
    -

    A molecular dynamics simulation is run using the run -command. Energy minimization (molecular statics) is performed using -the minimize command. A parallel tempering -(replica-exchange) simulation can be run using the -temper command.

    -
    -
    -
    -

    3.4. Commands listed by category

    -

    This section lists all LAMMPS commands, grouped by category. The -next section lists the same commands alphabetically. Note -that some style options for some commands are part of specific LAMMPS -packages, which means they cannot be used unless the package was -included when LAMMPS was built. Not all packages are included in a -default LAMMPS build. These dependencies are listed as Restrictions -in the command’s documentation.

    -

    Initialization:

    -

    atom_modify, atom_style, -boundary, dimension, -newton, processors, units

    -

    Atom definition:

    -

    create_atoms, create_box, -lattice, read_data, -read_dump, read_restart, -region, replicate

    -

    Force fields:

    -

    angle_coeff, angle_style, -bond_coeff, bond_style, -dielectric, dihedral_coeff, -dihedral_style, -improper_coeff, -improper_style, -kspace_modify, kspace_style, -pair_coeff, pair_modify, -pair_style, pair_write, -special_bonds

    -

    Settings:

    -

    comm_style, group, mass, -min_modify, min_style, -neigh_modify, neighbor, -reset_timestep, run_style, -set, timestep, velocity

    -

    Fixes:

    -

    fix, fix_modify, unfix

    -

    Computes:

    -

    compute, compute_modify, -uncompute

    -

    Output:

    -

    dump, dump image, -dump_modify, dump movie, -restart, thermo, -thermo_modify, thermo_style, -undump, write_data, -write_dump, write_restart

    -

    Actions:

    -

    delete_atoms, delete_bonds, -displace_atoms, change_box, -minimize, neb prd, -rerun, run, temper

    -

    Miscellaneous:

    -

    clear, echo, if, -include, jump, label, -log, next, print, -shell, variable

    -
    -
    -
    -

    3.5. Individual commands

    -

    This section lists all LAMMPS commands alphabetically, with a separate -listing below of styles within certain commands. The previous section lists the same commands, grouped by category. Note -that some style options for some commands are part of specific LAMMPS -packages, which means they cannot be used unless the package was -included when LAMMPS was built. Not all packages are included in a -default LAMMPS build. These dependencies are listed as Restrictions -in the command’s documentation.

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    angle_coeffangle_styleatom_modifyatom_stylebalancebond_coeff
    bond_stylebond_writeboundaryboxchange_boxclear
    comm_modifycomm_stylecomputecompute_modifycreate_atomscreate_bonds
    create_boxdelete_atomsdelete_bondsdielectricdihedral_coeffdihedral_style
    dimensiondisplace_atomsdumpdump imagedump_modifydump movie
    echofixfix_modifygroupifinfo
    improper_coeffimproper_styleincludejumpkspace_modifykspace_style
    labellatticelogmassminimizemin_modify
    min_stylemoleculenebneigh_modifyneighbornewton
    nextpackagepair_coeffpair_modifypair_stylepair_write
    partitionprdprintprocessorspythonquit
    read_dataread_dumpread_restartregionreplicatererun
    reset_timesteprestartrunrun_stylesetshell
    special_bondssuffixtadtemperthermothermo_modify
    thermo_styletimertimestepuncomputeundumpunfix
    unitsvariablevelocitywrite_coeffwrite_datawrite_dump
    write_restart     
    -

    These are additional commands in USER packages, which can be used if -LAMMPS is built with the appropriate package.

    - ----- - - - - - - -
    dump custom/vtkgroup2ndxndx2group
    -
    -
    -
    -

    3.6. Fix styles

    -

    See the fix command for one-line descriptions of each style -or click on the style itself for a full description. Some of the -styles have accelerated versions, which can be used if LAMMPS is built -with the appropriate accelerated package. -This is indicated by additional letters in parenthesis: g = GPU, i = -USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.

    - ---------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    adaptaddforceappend/atomsatom/swapaveforceave/atomave/chunkave/correlate
    ave/histoave/histo/weightave/timebalancebond/breakbond/createbond/swapbox/relax
    controllerdeform (k)depositdragdt/resetefieldehexenforce2d
    evaporateexternalfreezegcmcgldgravity (o)heatindent
    langevin (k)lineforcemomentummovemsstnebnph (ko)nphug (o)
    nph/asphere (o)nph/bodynph/sphere (o)npt (kio)npt/asphere (o)npt/bodynpt/sphere (o)nve (kio)
    nve/asphere (i)nve/asphere/noforcenve/bodynve/limitnve/linenve/noforcenve/sphere (o)nve/tri
    nvt (iko)nvt/asphere (o)nvt/bodynvt/sllod (io)nvt/sphere (o)onewayorient/bccorient/fcc
    planeforcepoemspourpress/berendsenprintproperty/atomqeq/comb (o)qeq/dynamic
    qeq/fireqeq/pointqeq/shieldedqeq/slaterrattlereax/bondsrecenterrestrain
    rigid (o)rigid/nph (o)rigid/npt (o)rigid/nve (o)rigid/nvt (o)rigid/small (o)rigid/small/nphrigid/small/npt
    rigid/small/nverigid/small/nvtsetforce (k)shakespringspring/chunkspring/rgspring/self
    srdstore/forcestore/statetemp/berendsentemp/csldtemp/csvrtemp/rescaletfmc
    thermal/conductivitytmdttmtune/kspacevectorviscosityviscouswall/colloid
    wall/granwall/harmonicwall/lj1043wall/lj126wall/lj93wall/pistonwall/reflect (k)wall/region
    wall/srd       
    -

    These are additional fix styles in USER packages, which can be used if -LAMMPS is built with the appropriate package.

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    adapt/fepaddtorqueatcave/correlate/longcolvarsdrude
    drude/transform/directdrude/transform/reverseeos/cveos/tableeos/table/rxflow/gauss
    gleimdipilangevin/drudelangevin/efflb/fluid
    lb/momentumlb/pclb/rigid/pc/spherelb/viscousmesomanifoldforce
    meso/stationarynve/manifold/rattlenvt/manifold/rattlenph/effnpt/effnve/eff
    nvt/effnvt/sllod/effphononpimdqbmsstqeq/reax
    qmmmqtbreax/c/bondsreax/c/speciesrxsaed/vtk
    shardlowsmdsmd/adjust/dtsmd/integrate/tlsphsmd/integrate/ulsphsmd/move/triangulated/surface
    smd/setvelsmd/wall/surfacetemp/rescale/effti/springttm/mod 
    -
    -
    -
    -

    3.7. Compute styles

    -

    See the compute command for one-line descriptions of -each style or click on the style itself for a full description. Some -of the styles have accelerated versions, which can be used if LAMMPS -is built with the appropriate accelerated package. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT.

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    angleangle/localangmom/chunkbody/localbondbond/local
    centro/atomchunk/atomcluster/atomcna/atomcomcom/chunk
    contact/atomcoord/atomdamage/atomdihedraldihedral/localdilatation/atom
    dipole/chunkdisplace/atomerotate/asphereerotate/rigiderotate/sphereerotate/sphere/atom
    event/displacegroup/groupgyrationgyration/chunkheat/fluxhexorder/atom
    improperimproper/localinertia/chunkkeke/atomke/rigid
    msdmsd/chunkmsd/nongaussomega/chunkorientorder/atompair
    pair/localpepe/atomplasticity/atompressureproperty/atom
    property/localproperty/chunkrdfreducereduce/regionrigid/local
    slicesna/atomsnad/atomsnav/atomstress/atomtemp (k)
    temp/aspheretemp/bodytemp/chunktemp/comtemp/deformtemp/partial
    temp/profiletemp/ramptemp/regiontemp/spheretitorque/chunk
    vacfvcm/chunkvoronoi/atom   
    -

    These are additional compute styles in USER packages, which can be -used if LAMMPS is built with the appropriate package.

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ackland/atombasal/atomdpddpd/atomfepforce/tally
    heat/flux/tallyke/effke/atom/effmeso/e/atommeso/rho/atommeso/t/atom
    pe/tallype/mol/tallysaedsmd/contact/radiussmd/damagesmd/hourglass/error
    smd/internal/energysmd/plastic/strainsmd/plastic/strain/ratesmd/rhosmd/tlsph/defgradsmd/tlsph/dt
    smd/tlsph/num/neighssmd/tlsph/shapesmd/tlsph/strainsmd/tlsph/strain/ratesmd/tlsph/stresssmd/triangle/mesh/vertices
    smd/ulsph/num/neighssmd/ulsph/strainsmd/ulsph/strain/ratesmd/ulsph/stresssmd/volstress/tally
    temp/drudetemp/efftemp/deform/efftemp/region/efftemp/rotatexrd
    -
    -
    -
    -

    3.8. Pair_style potentials

    -

    See the pair_style command for an overview of pair -potentials. Click on the style itself for a full description. Many -of the styles have accelerated versions, which can be used if LAMMPS -is built with the appropriate accelerated package. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT.

    - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    nonezerohybridhybrid/overlay
    adp (o)airebo (o)airebo/morse (o)beck (go)
    bodybopborn (go)born/coul/long (go)
    born/coul/long/csborn/coul/msm (o)born/coul/wolf (go)brownian (o)
    brownian/poly (o)buck (gkio)buck/coul/cut (gkio)buck/coul/long (gkio)
    buck/coul/long/csbuck/coul/msm (o)buck/long/coul/long (o)colloid (go)
    comb (o)comb3coul/cut (gko)coul/debye (gko)
    coul/dsf (gko)coul/long (gko)coul/long/cscoul/msm
    coul/streitzcoul/wolf (ko)dpd (o)dpd/tstat (o)
    dsmceam (gkot)eam/alloy (gkot)eam/fs (gkot)
    eim (o)gauss (go)gayberne (gio)gran/hertz/history (o)
    gran/hooke (o)gran/hooke/history (o)hbond/dreiding/lj (o)hbond/dreiding/morse (o)
    kimlcbopline/ljlj/charmm/coul/charmm (ko)
    lj/charmm/coul/charmm/implicit (ko)lj/charmm/coul/long (giko)lj/charmm/coul/msmlj/class2 (gko)
    lj/class2/coul/cut (ko)lj/class2/coul/long (gko)lj/cubic (go)lj/cut (gikot)
    lj/cut/coul/cut (gko)lj/cut/coul/debye (gko)lj/cut/coul/dsf (gko)lj/cut/coul/long (gikot)
    lj/cut/coul/long/cslj/cut/coul/msm (go)lj/cut/dipole/cut (go)lj/cut/dipole/long
    lj/cut/tip4p/cut (o)lj/cut/tip4p/long (ot)lj/expand (gko)lj/gromacs (gko)
    lj/gromacs/coul/gromacs (ko)lj/long/coul/long (o)lj/long/dipole/longlj/long/tip4p/long
    lj/smooth (o)lj/smooth/linear (o)lj96/cut (go)lubricate (o)
    lubricate/poly (o)lubricateUlubricateU/polymeam (o)
    mie/cut (o)morse (got)nb3b/harmonic (o)nm/cut (o)
    nm/cut/coul/cut (o)nm/cut/coul/long (o)peri/epsperi/lps (o)
    peri/pmb (o)peri/vespolymorphicreax
    rebo (o)resquared (go)snapsoft (go)
    sw (gkio)table (gko)tersoff (gkio)tersoff/mod (gko)
    tersoff/zbl (gko)tip4p/cut (o)tip4p/long (o)tri/lj
    vashishta (o)yukawa (go)yukawa/colloid (go)zbl (go)
    -

    These are additional pair styles in USER packages, which can be used -if LAMMPS is built with the appropriate package.

    - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    awpmd/cutbuck/mdfcoul/cut/soft (o)coul/diel (o)
    coul/long/soft (o)dpd/fdtdpd/fdt/energyeam/cd (o)
    edip (o)eff/cutexp6/rxgauss/cut
    lennard/mdflistlj/charmm/coul/long/soft (o)lj/cut/coul/cut/soft (o)
    lj/cut/coul/long/soft (o)lj/cut/dipole/sf (go)lj/cut/soft (o)lj/cut/thole/long (o)
    lj/cut/tip4p/long/soft (o)lj/mdflj/sdk (gko)lj/sdk/coul/long (go)
    lj/sdk/coul/msm (o)lj/sf (o)meam/splinemeam/sw/spline
    mgptmorse/smooth/linearmorse/softmulti/lucy
    multi/lucy/rxquipreax/c (k)smd/hertz
    smd/tlsphsmd/triangulated/surfacesmd/ulsphsmtbq
    sph/heatconductionsph/idealgassph/ljsph/rhosum
    sph/taitwatersph/taitwater/morrissrptable/rx
    tersoff/table (o)tholetip4p/long/soft (o) 
    -
    -
    -
    -

    3.9. Bond_style potentials

    -

    See the bond_style command for an overview of bond -potentials. Click on the style itself for a full description. Some -of the styles have accelerated versions, which can be used if LAMMPS -is built with the appropriate accelerated package. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT.

    - ------ - - - - - - - - - - - - - - - - - -
    nonezerohybridclass2 (o)
    fene (iko)fene/expand (o)harmonic (ko)morse (o)
    nonlinear (o)quartic (o)table (o) 
    -

    These are additional bond styles in USER packages, which can be used -if LAMMPS is built with the appropriate package.

    - ---- - - - - - -
    harmonic/shift (o)harmonic/shift/cut (o)
    -
    -
    -
    -

    3.10. Angle_style potentials

    -

    See the angle_style command for an overview of -angle potentials. Click on the style itself for a full description. -Some of the styles have accelerated versions, which can be used if -LAMMPS is built with the appropriate accelerated package. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT.

    - ------ - - - - - - - - - - - - - - - - - -
    nonezerohybridcharmm (ko)
    class2 (o)cosine (o)cosine/delta (o)cosine/periodic (o)
    cosine/squared (o)harmonic (iko)table (o) 
    -

    These are additional angle styles in USER packages, which can be used -if LAMMPS is built with the appropriate package.

    - ------ - - - - - - - - - - - - -
    cosine/shift (o)cosine/shift/exp (o)dipole (o)fourier (o)
    fourier/simple (o)quartic (o)sdk 
    -
    -
    -
    -

    3.11. Dihedral_style potentials

    -

    See the dihedral_style command for an overview -of dihedral potentials. Click on the style itself for a full -description. Some of the styles have accelerated versions, which can -be used if LAMMPS is built with the appropriate accelerated package. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT.

    - ------ - - - - - - - - - - - - - - - - - -
    nonezerohybridcharmm (ko)
    class2 (o)harmonic (io)helix (o)multi/harmonic (o)
    opls (iko)   
    -

    These are additional dihedral styles in USER packages, which can be -used if LAMMPS is built with the appropriate package.

    - ------ - - - - - - - - - - - - -
    cosine/shift/exp (o)fourier (o)nharmonic (o)quadratic (o)
    spherical (o)table (o)  
    -
    -
    -
    -

    3.12. Improper_style potentials

    -

    See the improper_style command for an overview -of improper potentials. Click on the style itself for a full -description. Some of the styles have accelerated versions, which can -be used if LAMMPS is built with the appropriate accelerated package. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT.

    - ------ - - - - - - - - - - - - -
    nonezerohybridclass2 (o)
    cvff (io)harmonic (ko)umbrella (o) 
    -

    These are additional improper styles in USER packages, which can be -used if LAMMPS is built with the appropriate package.

    - ------ - - - - - - - -
    cossq (o)distancefourier (o)ring (o)
    -
    -
    -
    -

    3.13. Kspace solvers

    -

    See the kspace_style command for an overview of -Kspace solvers. Click on the style itself for a full description. -Some of the styles have accelerated versions, which can be used if -LAMMPS is built with the appropriate accelerated package. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT.

    - ------ - - - - - - - - - - - - - - - - - -
    ewald (o)ewald/dispmsm (o)msm/cg (o)
    pppm (go)pppm/cg (o)pppm/disppppm/disp/tip4p
    pppm/staggerpppm/tip4p (o)  
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_errors.html b/doc/html/Section_errors.html deleted file mode 100644 index fdb88b5fc8e0b6a558a6234eb8e740f3f34f0912..0000000000000000000000000000000000000000 --- a/doc/html/Section_errors.html +++ /dev/null @@ -1,6777 +0,0 @@ - - - - - - - - - - - 12. Errors — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    12. Errors

    -

    This section describes the errors you can encounter when using LAMMPS, -either conceptually, or as printed out by the program.

    - -
    -

    12.1. Common problems

    -

    If two LAMMPS runs do not produce the same answer on different -machines or different numbers of processors, this is typically not a -bug. In theory you should get identical answers on any number of -processors and on any machine. In practice, numerical round-off can -cause slight differences and eventual divergence of molecular dynamics -phase space trajectories within a few 100s or few 1000s of timesteps. -However, the statistical properties of the two runs (e.g. average -energy or temperature) should still be the same.

    -

    If the velocity command is used to set initial atom -velocities, a particular atom can be assigned a different velocity -when the problem is run on a different number of processors or on -different machines. If this happens, the phase space trajectories of -the two simulations will rapidly diverge. See the discussion of the -loop option in the velocity command for details and -options that avoid this issue.

    -

    Similarly, the create_atoms command generates a -lattice of atoms. For the same physical system, the ordering and -numbering of atoms by atom ID may be different depending on the number -of processors.

    -

    Some commands use random number generators which may be setup to -produce different random number streams on each processor and hence -will produce different effects when run on different numbers of -processors. A commonly-used example is the fix langevin command for thermostatting.

    -

    A LAMMPS simulation typically has two stages, setup and run. Most -LAMMPS errors are detected at setup time; others like a bond -stretching too far may not occur until the middle of a run.

    -

    LAMMPS tries to flag errors and print informative error messages so -you can fix the problem. Of course, LAMMPS cannot figure out your -physics or numerical mistakes, like choosing too big a timestep, -specifying erroneous force field coefficients, or putting 2 atoms on -top of each other! If you run into errors that LAMMPS doesn’t catch -that you think it should flag, please send an email to the -developers.

    -

    If you get an error message about an invalid command in your input -script, you can determine what command is causing the problem by -looking in the log.lammps file or using the echo command -to see it on the screen. If you get an error like “Invalid ... -style”, with ... being fix, compute, pair, etc, it means that you -mistyped the style name or that the command is part of an optional -package which was not compiled into your executable. The list of -available styles in your executable can be listed by using the -h command-line argument. The installation -and compilation of optional packages is explained in the installation instructions.

    -

    For a given command, LAMMPS expects certain arguments in a specified -order. If you mess this up, LAMMPS will often flag the error, but it -may also simply read a bogus argument and assign a value that is -valid, but not what you wanted. E.g. trying to read the string “abc” -as an integer value of 0. Careful reading of the associated doc page -for the command should allow you to fix these problems. Note that -some commands allow for variables to be specified in place of numeric -constants so that the value can be evaluated and change over the -course of a run. This is typically done with the syntax v_name for -a parameter, where name is the name of the variable. This is only -allowed if the command documentation says it is.

    -

    Generally, LAMMPS will print a message to the screen and logfile and -exit gracefully when it encounters a fatal error. Sometimes it will -print a WARNING to the screen and logfile and continue on; you can -decide if the WARNING is important or not. A WARNING message that is -generated in the middle of a run is only printed to the screen, not to -the logfile, to avoid cluttering up thermodynamic output. If LAMMPS -crashes or hangs without spitting out an error message first then it -could be a bug (see this section) or one of the following -cases:

    -

    LAMMPS runs in the available memory a processor allows to be -allocated. Most reasonable MD runs are compute limited, not memory -limited, so this shouldn’t be a bottleneck on most platforms. Almost -all large memory allocations in the code are done via C-style malloc’s -which will generate an error message if you run out of memory. -Smaller chunks of memory are allocated via C++ “new” statements. If -you are unlucky you could run out of memory just when one of these -small requests is made, in which case the code will crash or hang (in -parallel), since LAMMPS doesn’t trap on those errors.

    -

    Illegal arithmetic can cause LAMMPS to run slow or crash. This is -typically due to invalid physics and numerics that your simulation is -computing. If you see wild thermodynamic values or NaN values in your -LAMMPS output, something is wrong with your simulation. If you -suspect this is happening, it is a good idea to print out -thermodynamic info frequently (e.g. every timestep) via the -thermo so you can monitor what is happening. -Visualizing the atom movement is also a good idea to insure your model -is behaving as you expect.

    -

    In parallel, one way LAMMPS can hang is due to how different MPI -implementations handle buffering of messages. If the code hangs -without an error message, it may be that you need to specify an MPI -setting or two (usually via an environment variable) to enable -buffering or boost the sizes of messages that can be buffered.

    -
    -
    -
    -

    12.2. Reporting bugs

    -

    If you are confident that you have found a bug in LAMMPS, follow these -steps.

    -

    Check the New features and bug fixes section of the LAMMPS WWW site to see if the bug has already been reported or fixed or the -Unfixed bug to see if a fix is -pending.

    -

    Check the mailing list -to see if it has been discussed before.

    -

    If not, send an email to the mailing list describing the problem with -any ideas you have as to what is causing it or where in the code the -problem might be. The developers will ask for more info if needed, -such as an input script or data files.

    -

    The most useful thing you can do to help us fix the bug is to isolate -the problem. Run it on the smallest number of atoms and fewest number -of processors and with the simplest input script that reproduces the -bug and try to identify what command or combination of commands is -causing the problem.

    -

    As a last resort, you can send an email directly to the -developers.

    -
    -
    -
    -

    12.3. Error & warning messages

    -

    These are two alphabetic lists of the ERROR and -WARNING messages LAMMPS prints out and the reason why. If the -explanation here is not sufficient, the documentation for the -offending command may help. -Error and warning messages also list the source file and line number -where the error was generated. For example, this message

    -

    ERROR: Illegal velocity command (velocity.cpp:78)

    -

    means that line #78 in the file src/velocity.cpp generated the error. -Looking in the source code may help you figure out what went wrong.

    -

    Note that error messages from user-contributed packages are not listed here. If such an -error occurs and is not self-explanatory, you’ll need to look in the -source code or contact the author of the package.

    -
    -
    -

    12.4. Errors:

    -
    -
    1-3 bond count is inconsistent
    -
    An inconsistency was detected when computing the number of 1-3 -neighbors for each atom. This likely means something is wrong with -the bond topologies you have defined.
    -
    1-4 bond count is inconsistent
    -
    An inconsistency was detected when computing the number of 1-4 -neighbors for each atom. This likely means something is wrong with -the bond topologies you have defined.
    -
    Accelerator sharing is not currently supported on system
    -
    Multiple MPI processes cannot share the accelerator on your -system. For NVIDIA GPUs, see the nvidia-smi command to change this -setting.
    -
    All angle coeffs are not set
    -
    All angle coefficients must be set in the data file or by the -angle_coeff command before running a simulation.
    -
    All atom IDs = 0 but atom_modify id = yes
    -
    Self-explanatory.
    -
    All atoms of a swapped type must have same charge.
    -
    Self-explanatory.
    -
    All atoms of a swapped type must have the same charge.
    -
    Self-explanatory.
    -
    All bond coeffs are not set
    -
    All bond coefficients must be set in the data file or by the -bond_coeff command before running a simulation.
    -
    All dihedral coeffs are not set
    -
    All dihedral coefficients must be set in the data file or by the -dihedral_coeff command before running a simulation.
    -
    All improper coeffs are not set
    -
    All improper coefficients must be set in the data file or by the -improper_coeff command before running a simulation.
    -
    All masses are not set
    -
    For atom styles that define masses for each atom type, all masses must -be set in the data file or by the mass command before running a -simulation. They must also be set before using the velocity -command.
    -
    All mol IDs should be set for fix gcmc group atoms
    -
    The molecule flag is on, yet not all molecule ids in the fix group -have been set to non-zero positive values by the user. This is an -error since all atoms in the fix gcmc group are eligible for deletion, -rotation, and translation and therefore must have valid molecule ids.
    -
    All pair coeffs are not set
    -
    All pair coefficients must be set in the data file or by the -pair_coeff command before running a simulation.
    -
    All read_dump x,y,z fields must be specified for scaled, triclinic coords
    -
    For triclinic boxes and scaled coordinates you must specify all 3 of -the x,y,z fields, else LAMMPS cannot reconstruct the unscaled -coordinates.
    -
    All universe/uloop variables must have same # of values
    -
    Self-explanatory.
    -
    All variables in next command must be same style
    -
    Self-explanatory.
    -
    Angle atom missing in delete_bonds
    -
    The delete_bonds command cannot find one or more atoms in a particular -angle on a particular processor. The pairwise cutoff is too short or -the atoms are too far apart to make a valid angle.
    -
    Angle atom missing in set command
    -
    The set command cannot find one or more atoms in a particular angle on -a particular processor. The pairwise cutoff is too short or the atoms -are too far apart to make a valid angle.
    -
    Angle atoms %d %d %d missing on proc %d at step %ld
    -
    One or more of 3 atoms needed to compute a particular angle are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the angle has blown apart and an atom is -too far away.
    -
    Angle atoms missing on proc %d at step %ld
    -
    One or more of 3 atoms needed to compute a particular angle are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the angle has blown apart and an atom is -too far away.
    -
    Angle coeff for hybrid has invalid style
    -
    Angle style hybrid uses another angle style as one of its -coefficients. The angle style used in the angle_coeff command or read -from a restart file is not recognized.
    -
    Angle coeffs are not set
    -
    No angle coefficients have been assigned in the data file or via the -angle_coeff command.
    -
    Angle extent > half of periodic box length
    -
    This error was detected by the neigh_modify check yes setting. It is -an error because the angle atoms are so far apart it is ambiguous how -it should be defined.
    -
    Angle potential must be defined for SHAKE
    -
    When shaking angles, an angle_style potential must be used.
    -
    Angle style hybrid cannot have hybrid as an argument
    -
    Self-explanatory.
    -
    Angle style hybrid cannot have none as an argument
    -
    Self-explanatory.
    -
    Angle style hybrid cannot use same angle style twice
    -
    Self-explanatory.
    -
    Angle table must range from 0 to 180 degrees
    -
    Self-explanatory.
    -
    Angle table parameters did not set N
    -
    List of angle table parameters must include N setting.
    -
    Angle_coeff command before angle_style is defined
    -
    Coefficients cannot be set in the data file or via the angle_coeff -command until an angle_style has been assigned.
    -
    Angle_coeff command before simulation box is defined
    -
    The angle_coeff command cannot be used before a read_data, -read_restart, or create_box command.
    -
    Angle_coeff command when no angles allowed
    -
    The chosen atom style does not allow for angles to be defined.
    -
    Angle_style command when no angles allowed
    -
    The chosen atom style does not allow for angles to be defined.
    -
    Angles assigned incorrectly
    -
    Angles read in from the data file were not assigned correctly to -atoms. This means there is something invalid about the topology -definitions.
    -
    Angles defined but no angle types
    -
    The data file header lists angles but no angle types.
    -
    Append boundary must be shrink/minimum
    -
    The boundary style of the face where atoms are added -must be of type m (shrink/minimum).
    -
    Arccos of invalid value in variable formula
    -
    Argument of arccos() must be between -1 and 1.
    -
    Arcsin of invalid value in variable formula
    -
    Argument of arcsin() must be between -1 and 1.
    -
    Assigning body parameters to non-body atom
    -
    Self-explanatory.
    -
    Assigning ellipsoid parameters to non-ellipsoid atom
    -
    Self-explanatory.
    -
    Assigning line parameters to non-line atom
    -
    Self-explanatory.
    -
    Assigning quat to non-body atom
    -
    Self-explanatory.
    -
    Assigning tri parameters to non-tri atom
    -
    Self-explanatory.
    -
    At least one atom of each swapped type must be present to define charges.
    -
    Self-explanatory.
    -
    Atom IDs must be consecutive for velocity create loop all
    -
    Self-explanatory.
    -
    Atom IDs must be used for molecular systems
    -
    Atom IDs are used to identify and find partner atoms in bonds.
    -
    Atom count changed in fix neb
    -
    This is not allowed in a NEB calculation.
    -
    Atom count is inconsistent, cannot write data file
    -
    The sum of atoms across processors does not equal the global number -of atoms. Probably some atoms have been lost.
    -
    Atom count is inconsistent, cannot write restart file
    -
    Sum of atoms across processors does not equal initial total count. -This is probably because you have lost some atoms.
    -
    Atom in too many rigid bodies - boost MAXBODY
    -
    Fix poems has a parameter MAXBODY (in fix_poems.cpp) which determines -the maximum number of rigid bodies a single atom can belong to (i.e. a -multibody joint). The bodies you have defined exceed this limit.
    -
    Atom sort did not operate correctly
    -
    This is an internal LAMMPS error. Please report it to the -developers.
    -
    Atom sorting has bin size = 0.0
    -
    The neighbor cutoff is being used as the bin size, but it is zero. -Thus you must explicitly list a bin size in the atom_modify sort -command or turn off sorting.
    -
    Atom style hybrid cannot have hybrid as an argument
    -
    Self-explanatory.
    -
    Atom style hybrid cannot use same atom style twice
    -
    Self-explanatory.
    -
    Atom style template molecule must have atom types
    -
    The defined molecule(s) does not specify atom types.
    -
    Atom style was redefined after using fix property/atom
    -
    This is not allowed.
    -
    Atom type must be zero in fix gcmc mol command
    -
    Self-explanatory.
    -
    Atom vector in equal-style variable formula
    -
    Atom vectors generate one value per atom which is not allowed -in an equal-style variable.
    -
    Atom-style variable in equal-style variable formula
    -
    Atom-style variables generate one value per atom which is not allowed -in an equal-style variable.
    -
    Atom_modify id command after simulation box is defined
    -
    The atom_modify id command cannot be used after a read_data, -read_restart, or create_box command.
    -
    Atom_modify map command after simulation box is defined
    -
    The atom_modify map command cannot be used after a read_data, -read_restart, or create_box command.
    -
    Atom_modify sort and first options cannot be used together
    -
    Self-explanatory.
    -
    Atom_style command after simulation box is defined
    -
    The atom_style command cannot be used after a read_data, -read_restart, or create_box command.
    -
    Atom_style line can only be used in 2d simulations
    -
    Self-explanatory.
    -
    Atom_style tri can only be used in 3d simulations
    -
    Self-explanatory.
    -
    Atomfile variable could not read values
    -
    Check the file assigned to the variable.
    -
    Atomfile variable in equal-style variable formula
    -
    Self-explanatory.
    -
    Atomfile-style variable in equal-style variable formula
    -
    Self-explanatory.
    -
    Attempt to pop empty stack in fix box/relax
    -
    Internal LAMMPS error. Please report it to the developers.
    -
    Attempt to push beyond stack limit in fix box/relax
    -
    Internal LAMMPS error. Please report it to the developers.
    -
    Attempting to rescale a 0.0 temperature
    -
    Cannot rescale a temperature that is already 0.0.
    -
    Bad FENE bond
    -
    Two atoms in a FENE bond have become so far apart that the bond cannot -be computed.
    -
    Bad TIP4P angle type for PPPM/TIP4P
    -
    Specified angle type is not valid.
    -
    Bad TIP4P angle type for PPPMDisp/TIP4P
    -
    Specified angle type is not valid.
    -
    Bad TIP4P bond type for PPPM/TIP4P
    -
    Specified bond type is not valid.
    -
    Bad TIP4P bond type for PPPMDisp/TIP4P
    -
    Specified bond type is not valid.
    -
    Bad fix ID in fix append/atoms command
    -
    The value of the fix_id for keyword spatial must start with ‘f_’.
    -
    Bad grid of processors
    -
    The 3d grid of processors defined by the processors command does not -match the number of processors LAMMPS is being run on.
    -
    Bad kspace_modify kmax/ewald parameter
    -
    Kspace_modify values for the kmax/ewald keyword must be integers > 0
    -
    Bad kspace_modify slab parameter
    -
    Kspace_modify value for the slab/volume keyword must be >= 2.0.
    -
    Bad matrix inversion in mldivide3
    -
    This error should not occur unless the matrix is badly formed.
    -
    Bad principal moments
    -
    Fix rigid did not compute the principal moments of inertia of a rigid -group of atoms correctly.
    -
    Bad quadratic solve for particle/line collision
    -
    This is an internal error. It should nornally not occur.
    -
    Bad quadratic solve for particle/tri collision
    -
    This is an internal error. It should nornally not occur.
    -
    Bad real space Coulomb cutoff in fix tune/kspace
    -
    Fix tune/kspace tried to find the optimal real space Coulomb cutoff using -the Newton-Rhaphson method, but found a non-positive or NaN cutoff
    -
    Balance command before simulation box is defined
    -
    The balance command cannot be used before a read_data, read_restart, -or create_box command.
    -
    Balance produced bad splits
    -
    This should not occur. It means two or more cutting plane locations -are on top of each other or out of order. Report the problem to the -developers.
    -
    Balance rcb cannot be used with comm_style brick
    -
    Comm_style tiled must be used instead.
    -
    Balance shift string is invalid
    -
    The string can only contain the characters “x”, “y”, or “z”.
    -
    Bias compute does not calculate a velocity bias
    -
    The specified compute must compute a bias for temperature.
    -
    Bias compute does not calculate temperature
    -
    The specified compute must compute temperature.
    -
    Bias compute group does not match compute group
    -
    The specified compute must operate on the same group as the parent -compute.
    -
    Big particle in fix srd cannot be point particle
    -
    Big particles must be extended spheriods or ellipsoids.
    -
    Bigint setting in lmptype.h is invalid
    -
    Size of bigint is less than size of tagint.
    -
    Bigint setting in lmptype.h is not compatible
    -
    Format of bigint stored in restart file is not consistent with LAMMPS -version you are running. See the settings in src/lmptype.h
    -
    Bitmapped lookup tables require int/float be same size
    -
    Cannot use pair tables on this machine, because of word sizes. Use -the pair_modify command with table 0 instead.
    -
    Bitmapped table in file does not match requested table
    -
    Setting for bitmapped table in pair_coeff command must match table -in file exactly.
    -
    Bitmapped table is incorrect length in table file
    -
    Number of table entries is not a correct power of 2.
    -
    Bond and angle potentials must be defined for TIP4P
    -
    Cannot use TIP4P pair potential unless bond and angle potentials -are defined.
    -
    Bond atom missing in box size check
    -
    The 2nd atoms needed to compute a particular bond is missing on this -processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away.
    -
    Bond atom missing in delete_bonds
    -
    The delete_bonds command cannot find one or more atoms in a particular -bond on a particular processor. The pairwise cutoff is too short or -the atoms are too far apart to make a valid bond.
    -
    Bond atom missing in image check
    -
    The 2nd atom in a particular bond is missing on this processor. -Typically this is because the pairwise cutoff is set too short or the -bond has blown apart and an atom is too far away.
    -
    Bond atom missing in set command
    -
    The set command cannot find one or more atoms in a particular bond on -a particular processor. The pairwise cutoff is too short or the atoms -are too far apart to make a valid bond.
    -
    Bond atoms %d %d missing on proc %d at step %ld
    -
    The 2nd atom needed to compute a particular bond is missing on this -processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away.
    -
    Bond atoms missing on proc %d at step %ld
    -
    The 2nd atom needed to compute a particular bond is missing on this -processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away.
    -
    Bond coeff for hybrid has invalid style
    -
    Bond style hybrid uses another bond style as one of its coefficients. -The bond style used in the bond_coeff command or read from a restart -file is not recognized.
    -
    Bond coeffs are not set
    -
    No bond coefficients have been assigned in the data file or via the -bond_coeff command.
    -
    Bond extent > half of periodic box length
    -
    This error was detected by the neigh_modify check yes setting. It is -an error because the bond atoms are so far apart it is ambiguous how -it should be defined.
    -
    Bond potential must be defined for SHAKE
    -
    Cannot use fix shake unless bond potential is defined.
    -
    Bond style hybrid cannot have hybrid as an argument
    -
    Self-explanatory.
    -
    Bond style hybrid cannot have none as an argument
    -
    Self-explanatory.
    -
    Bond style hybrid cannot use same bond style twice
    -
    Self-explanatory.
    -
    Bond style quartic cannot be used with 3,4-body interactions
    -
    No angle, dihedral, or improper styles can be defined when using -bond style quartic.
    -
    Bond style quartic cannot be used with atom style template
    -
    This bond style can change the bond topology which is not -allowed with this atom style.
    -
    Bond style quartic requires special_bonds = 1,1,1
    -
    This is a restriction of the current bond quartic implementation.
    -
    Bond table parameters did not set N
    -
    List of bond table parameters must include N setting.
    -
    Bond table values are not increasing
    -
    The values in the tabulated file must be monotonically increasing.
    -
    BondAngle coeff for hybrid angle has invalid format
    -
    No “ba” field should appear in data file entry.
    -
    BondBond coeff for hybrid angle has invalid format
    -
    No “bb” field should appear in data file entry.
    -
    Bond_coeff command before bond_style is defined
    -
    Coefficients cannot be set in the data file or via the bond_coeff -command until an bond_style has been assigned.
    -
    Bond_coeff command before simulation box is defined
    -
    The bond_coeff command cannot be used before a read_data, -read_restart, or create_box command.
    -
    Bond_coeff command when no bonds allowed
    -
    The chosen atom style does not allow for bonds to be defined.
    -
    Bond_style command when no bonds allowed
    -
    The chosen atom style does not allow for bonds to be defined.
    -
    Bonds assigned incorrectly
    -
    Bonds read in from the data file were not assigned correctly to atoms. -This means there is something invalid about the topology definitions.
    -
    Bonds defined but no bond types
    -
    The data file header lists bonds but no bond types.
    -
    Both restart files must use % or neither
    -
    Self-explanatory.
    -
    Both restart files must use MPI-IO or neither
    -
    Self-explanatory.
    -
    Both sides of boundary must be periodic
    -
    Cannot specify a boundary as periodic only on the lo or hi side. Must -be periodic on both sides.
    -
    Boundary command after simulation box is defined
    -
    The boundary command cannot be used after a read_data, read_restart, -or create_box command.
    -
    Box bounds are invalid
    -
    The box boundaries specified in the read_data file are invalid. The -lo value must be less than the hi value for all 3 dimensions.
    -
    Box command after simulation box is defined
    -
    The box command cannot be used after a read_data, read_restart, or -create_box command.
    -
    CPU neighbor lists must be used for ellipsoid/sphere mix.
    -
    When using Gay-Berne or RE-squared pair styles with both ellipsoidal and -spherical particles, the neighbor list must be built on the CPU
    -
    Can not specify Pxy/Pxz/Pyz in fix box/relax with non-triclinic box
    -
    Only triclinic boxes can be used with off-diagonal pressure components. -See the region prism command for details.
    -
    Can not specify Pxy/Pxz/Pyz in fix nvt/npt/nph with non-triclinic box
    -
    Only triclinic boxes can be used with off-diagonal pressure components. -See the region prism command for details.
    -
    Can only use -plog with multiple partitions
    -
    Self-explanatory. See doc page discussion of command-line switches.
    -
    Can only use -pscreen with multiple partitions
    -
    Self-explanatory. See doc page discussion of command-line switches.
    -
    Can only use Kokkos supported regions with Kokkos package
    -
    Self-explanatory.
    -
    Can only use NEB with 1-processor replicas
    -
    This is current restriction for NEB as implemented in LAMMPS.
    -
    Can only use TAD with 1-processor replicas for NEB
    -
    This is current restriction for NEB as implemented in LAMMPS.
    -
    Cannot (yet) do analytic differentiation with pppm/gpu
    -
    This is a current restriction of this command.
    -
    Cannot (yet) request ghost atoms with Kokkos half neighbor list
    -
    This feature is not yet supported.
    -
    Cannot (yet) use ‘electron’ units with dipoles
    -
    This feature is not yet supported.
    -
    Cannot (yet) use Ewald with triclinic box and slab correction
    -
    This feature is not yet supported.
    -
    Cannot (yet) use K-space slab correction with compute group/group for triclinic systems
    -
    This option is not yet supported.
    -
    Cannot (yet) use MSM with 2d simulation
    -
    This feature is not yet supported.
    -
    Cannot (yet) use PPPM with triclinic box and TIP4P
    -
    This feature is not yet supported.
    -
    Cannot (yet) use PPPM with triclinic box and kspace_modify diff ad
    -
    This feature is not yet supported.
    -
    Cannot (yet) use PPPM with triclinic box and slab correction
    -
    This feature is not yet supported.
    -
    Cannot (yet) use kspace slab correction with long-range dipoles and non-neutral systems or per-atom energy
    -
    This feature is not yet supported.
    -
    Cannot (yet) use kspace_modify diff ad with compute group/group
    -
    This option is not yet supported.
    -
    Cannot (yet) use kspace_style pppm/stagger with triclinic systems
    -
    This feature is not yet supported.
    -
    Cannot (yet) use molecular templates with Kokkos
    -
    Self-explanatory.
    -
    Cannot (yet) use respa with Kokkos
    -
    Self-explanatory.
    -
    Cannot (yet) use rigid bodies with fix deform and Kokkos
    -
    Self-explanatory.
    -
    Cannot (yet) use rigid bodies with fix nh and Kokkos
    -
    Self-explanatory.
    -
    Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and recompile)
    -
    Single precision cannot be used with MSM.
    -
    Cannot add atoms to fix move variable
    -
    Atoms can not be added afterwards to this fix option.
    -
    Cannot append atoms to a triclinic box
    -
    The simulation box must be defined with edges alligned with the -Cartesian axes.
    -
    Cannot balance in z dimension for 2d simulation
    -
    Self-explanatory.
    -
    Cannot change box ortho/triclinic with certain fixes defined
    -
    This is because those fixes store the shape of the box. You need to -use unfix to discard the fix, change the box, then redefine a new -fix.
    -
    Cannot change box ortho/triclinic with dumps defined
    -
    This is because some dumps store the shape of the box. You need to -use undump to discard the dump, change the box, then redefine a new -dump.
    -
    Cannot change box tilt factors for orthogonal box
    -
    Cannot use tilt factors unless the simulation box is non-orthogonal.
    -
    Cannot change box to orthogonal when tilt is non-zero
    -
    Self-explanatory.
    -
    Cannot change box z boundary to nonperiodic for a 2d simulation
    -
    Self-explanatory.
    -
    Cannot change dump_modify every for dump dcd
    -
    The frequency of writing dump dcd snapshots cannot be changed.
    -
    Cannot change dump_modify every for dump xtc
    -
    The frequency of writing dump xtc snapshots cannot be changed.
    -
    Cannot change timestep once fix srd is setup
    -
    This is because various SRD properties depend on the timestep -size.
    -
    Cannot change timestep with fix pour
    -
    This is because fix pour pre-computes the time delay for particles to -fall out of the insertion volume due to gravity.
    -
    Cannot change to comm_style brick from tiled layout
    -
    Self-explanatory.
    -
    Cannot change_box after reading restart file with per-atom info
    -
    This is because the restart file info cannot be migrated with the -atoms. You can get around this by performing a 0-timestep run which -will assign the restart file info to actual atoms.
    -
    Cannot change_box in xz or yz for 2d simulation
    -
    Self-explanatory.
    -
    Cannot change_box in z dimension for 2d simulation
    -
    Self-explanatory.
    -
    Cannot clear group all
    -
    This operation is not allowed.
    -
    Cannot close restart file - MPI error: %s
    -
    This error was generated by MPI when reading/writing an MPI-IO restart -file.
    -
    Cannot compute initial g_ewald_disp
    -
    LAMMPS failed to compute an initial guess for the PPPM_disp g_ewald_6 -factor that partitions the computation between real space and k-space -for Disptersion interactions.
    -
    Cannot create an atom map unless atoms have IDs
    -
    The simulation requires a mapping from global atom IDs to local atoms, -but the atoms that have been defined have no IDs.
    -
    Cannot create atoms with undefined lattice
    -
    Must use the lattice command before using the create_atoms -command.
    -
    Cannot create/grow a vector/array of pointers for %s
    -
    LAMMPS code is making an illegal call to the templated memory -allocaters, to create a vector or array of pointers.
    -
    Cannot create_atoms after reading restart file with per-atom info
    -
    The per-atom info was stored to be used when by a fix that you may -re-define. If you add atoms before re-defining the fix, then there -will not be a correct amount of per-atom info.
    -
    Cannot create_box after simulation box is defined
    -
    A simulation box can only be defined once.
    -
    Cannot currently use pair reax with pair hybrid
    -
    This is not yet supported.
    -
    Cannot currently use pppm/gpu with fix balance.
    -
    Self-explanatory.
    -
    Cannot delete group all
    -
    Self-explanatory.
    -
    Cannot delete group currently used by a compute
    -
    Self-explanatory.
    -
    Cannot delete group currently used by a dump
    -
    Self-explanatory.
    -
    Cannot delete group currently used by a fix
    -
    Self-explanatory.
    -
    Cannot delete group currently used by atom_modify first
    -
    Self-explanatory.
    -
    Cannot delete_atoms bond yes for non-molecular systems
    -
    Self-explanatory.
    -
    Cannot displace_atoms after reading restart file with per-atom info
    -
    This is because the restart file info cannot be migrated with the -atoms. You can get around this by performing a 0-timestep run which -will assign the restart file info to actual atoms.
    -
    Cannot do GCMC on atoms in atom_modify first group
    -
    This is a restriction due to the way atoms are organized in a list to -enable the atom_modify first command.
    -
    Cannot do atom/swap on atoms in atom_modify first group
    -
    This is a restriction due to the way atoms are organized in a list to -enable the atom_modify first command.
    -
    Cannot dump sort on atom IDs with no atom IDs defined
    -
    Self-explanatory.
    -
    Cannot dump sort when multiple dump files are written
    -
    In this mode, each processor dumps its atoms to a file, so -no sorting is allowed.
    -
    Cannot embed Python when also extending Python with LAMMPS
    -
    When running LAMMPS via Python through the LAMMPS library interface -you cannot also user the input script python command.
    -
    Cannot evaporate atoms in atom_modify first group
    -
    This is a restriction due to the way atoms are organized in -a list to enable the atom_modify first command.
    -
    Cannot find create_bonds group ID
    -
    Self-explanatory.
    -
    Cannot find delete_bonds group ID
    -
    Group ID used in the delete_bonds command does not exist.
    -
    Cannot find specified group ID for core particles
    -
    Self-explanatory.
    -
    Cannot find specified group ID for shell particles
    -
    Self-explanatory.
    -
    Cannot have both pair_modify shift and tail set to yes
    -
    These 2 options are contradictory.
    -
    Cannot intersect groups using a dynamic group
    -
    This operation is not allowed.
    -
    Cannot mix molecular and molecule template atom styles
    -
    Self-explanatory.
    -
    Cannot open -reorder file
    -
    Self-explanatory.
    -
    Cannot open ADP potential file %s
    -
    The specified ADP potential file cannot be opened. Check that the -path and name are correct.
    -
    Cannot open AIREBO potential file %s
    -
    The specified AIREBO potential file cannot be opened. Check that the -path and name are correct.
    -
    Cannot open BOP potential file %s
    -
    The specified BOP potential file cannot be opened. Check that the -path and name are correct.
    -
    Cannot open COMB potential file %s
    -
    The specified COMB potential file cannot be opened. Check that the -path and name are correct.
    -
    Cannot open COMB3 lib.comb3 file
    -
    The COMB3 library file cannot be opened. Check that the path and name -are correct.
    -
    Cannot open COMB3 potential file %s
    -
    The specified COMB3 potential file cannot be opened. Check that the -path and name are correct.
    -
    Cannot open EAM potential file %s
    -
    The specified EAM potential file cannot be opened. Check that the -path and name are correct.
    -
    Cannot open EIM potential file %s
    -
    The specified EIM potential file cannot be opened. Check that the -path and name are correct.
    -
    Cannot open LCBOP potential file %s
    -
    The specified LCBOP potential file cannot be opened. Check that the -path and name are correct.
    -
    Cannot open MEAM potential file %s
    -
    The specified MEAM potential file cannot be opened. Check that the -path and name are correct.
    -
    Cannot open SNAP coefficient file %s
    -
    The specified SNAP coefficient file cannot be opened. Check that the -path and name are correct.
    -
    Cannot open SNAP parameter file %s
    -
    The specified SNAP parameter file cannot be opened. Check that the -path and name are correct.
    -
    Cannot open Stillinger-Weber potential file %s
    -
    The specified SW potential file cannot be opened. Check that the path -and name are correct.
    -
    Cannot open Tersoff potential file %s
    -
    The specified potential file cannot be opened. Check that the path -and name are correct.
    -
    Cannot open Vashishta potential file %s
    -
    The specified Vashishta potential file cannot be opened. Check that the path -and name are correct.
    -
    Cannot open balance output file
    -
    Self-explanatory.
    -
    Cannot open coul/streitz potential file %s
    -
    The specified coul/streitz potential file cannot be opened. Check -that the path and name are correct.
    -
    Cannot open custom file
    -
    Self-explanatory.
    -
    Cannot open data file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open dir to search for restart file
    -
    Using a “*” in the name of the restart file will open the current -directory to search for matching file names.
    -
    Cannot open dump file
    -
    Self-explanatory.
    -
    Cannot open dump file %s
    -
    The output file for the dump command cannot be opened. Check that the -path and name are correct.
    -
    Cannot open file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct. If the file is a compressed file, also check that the gzip -executable can be found and run.
    -
    Cannot open file variable file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open fix ave/chunk file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open fix ave/correlate file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open fix ave/histo file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open fix ave/spatial file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open fix ave/time file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open fix balance output file
    -
    Self-explanatory.
    -
    Cannot open fix poems file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open fix print file %s
    -
    The output file generated by the fix print command cannot be opened
    -
    Cannot open fix qeq parameter file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open fix qeq/comb file %s
    -
    The output file for the fix qeq/combs command cannot be opened. -Check that the path and name are correct.
    -
    Cannot open fix reax/bonds file %s
    -
    The output file for the fix reax/bonds command cannot be opened. -Check that the path and name are correct.
    -
    Cannot open fix rigid infile %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open fix rigid restart file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open fix rigid/small infile %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open fix tmd file %s
    -
    The output file for the fix tmd command cannot be opened. Check that -the path and name are correct.
    -
    Cannot open fix ttm file %s
    -
    The output file for the fix ttm command cannot be opened. Check that -the path and name are correct.
    -
    Cannot open gzipped file
    -
    LAMMPS was compiled without support for reading and writing gzipped -files through a pipeline to the gzip program with -DLAMMPS_GZIP.
    -
    Cannot open input script %s
    -
    Self-explanatory.
    -
    Cannot open log.cite file
    -
    This file is created when you use some LAMMPS features, to indicate -what paper you should cite on behalf of those who implemented -the feature. Check that you have write priveleges into the directory -you are running in.
    -
    Cannot open log.lammps for writing
    -
    The default LAMMPS log file cannot be opened. Check that the -directory you are running in allows for files to be created.
    -
    Cannot open logfile
    -
    The LAMMPS log file named in a command-line argument cannot be opened. -Check that the path and name are correct.
    -
    Cannot open logfile %s
    -
    The LAMMPS log file specified in the input script cannot be opened. -Check that the path and name are correct.
    -
    Cannot open molecule file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct.
    -
    Cannot open nb3b/harmonic potential file %s
    -
    The specified potential file cannot be opened. Check that the path -and name are correct.
    -
    Cannot open pair_write file
    -
    The specified output file for pair energies and forces cannot be -opened. Check that the path and name are correct.
    -
    Cannot open polymorphic potential file %s
    -
    The specified polymorphic potential file cannot be opened. Check that -the path and name are correct.
    -
    Cannot open print file %s
    -
    Self-explanatory.
    -
    Cannot open processors output file
    -
    Self-explanatory.
    -
    Cannot open restart file %s
    -
    Self-explanatory.
    -
    Cannot open restart file for reading - MPI error: %s
    -
    This error was generated by MPI when reading/writing an MPI-IO restart -file.
    -
    Cannot open restart file for writing - MPI error: %s
    -
    This error was generated by MPI when reading/writing an MPI-IO restart -file.
    -
    Cannot open screen file
    -
    The screen file specified as a command-line argument cannot be -opened. Check that the directory you are running in allows for files -to be created.
    -
    Cannot open temporary file for world counter.
    -
    Self-explanatory.
    -
    Cannot open universe log file
    -
    For a multi-partition run, the master log file cannot be opened. -Check that the directory you are running in allows for files to be -created.
    -
    Cannot open universe screen file
    -
    For a multi-partition run, the master screen file cannot be opened. -Check that the directory you are running in allows for files to be -created.
    -
    Cannot read from restart file - MPI error: %s
    -
    This error was generated by MPI when reading/writing an MPI-IO restart -file.
    -
    Cannot read_data without add keyword after simulation box is defined
    -
    Self-explanatory.
    -
    Cannot read_restart after simulation box is defined
    -
    The read_restart command cannot be used after a read_data, -read_restart, or create_box command.
    -
    Cannot redefine variable as a different style
    -
    An equal-style variable can be re-defined but only if it was -originally an equal-style variable.
    -
    Cannot replicate 2d simulation in z dimension
    -
    The replicate command cannot replicate a 2d simulation in the z -dimension.
    -
    Cannot replicate with fixes that store atom quantities
    -
    Either fixes are defined that create and store atom-based vectors or a -restart file was read which included atom-based vectors for fixes. -The replicate command cannot duplicate that information for new atoms. -You should use the replicate command before fixes are applied to the -system.
    -
    Cannot reset timestep with a dynamic region defined
    -
    Dynamic regions (see the region command) have a time dependence. -Thus you cannot change the timestep when one or more of these -are defined.
    -
    Cannot reset timestep with a time-dependent fix defined
    -
    You cannot reset the timestep when a fix that keeps track of elapsed -time is in place.
    -
    Cannot run 2d simulation with nonperiodic Z dimension
    -
    Use the boundary command to make the z dimension periodic in order to -run a 2d simulation.
    -
    Cannot set bond topology types for atom style template
    -
    The bond, angle, etc types cannot be changed for this atom style since -they are static settings in the molecule template files.
    -
    Cannot set both respa pair and inner/middle/outer
    -
    In the rRESPA integrator, you must compute pairwise potentials either -all together (pair), or in pieces (inner/middle/outer). You can’t do -both.
    -
    Cannot set cutoff/multi before simulation box is defined
    -
    Self-explanatory.
    -
    Cannot set dpd/theta for this atom style
    -
    Self-explanatory.
    -
    Cannot set dump_modify flush for dump xtc
    -
    Self-explanatory.
    -
    Cannot set mass for this atom style
    -
    This atom style does not support mass settings for each atom type. -Instead they are defined on a per-atom basis in the data file.
    -
    Cannot set meso/cv for this atom style
    -
    Self-explanatory.
    -
    Cannot set meso/e for this atom style
    -
    Self-explanatory.
    -
    Cannot set meso/rho for this atom style
    -
    Self-explanatory.
    -
    Cannot set non-zero image flag for non-periodic dimension
    -
    Self-explanatory.
    -
    Cannot set non-zero z velocity for 2d simulation
    -
    Self-explanatory.
    -
    Cannot set quaternion for atom that has none
    -
    Self-explanatory.
    -
    Cannot set quaternion with xy components for 2d system
    -
    Self-explanatory.
    -
    Cannot set respa hybrid and any of pair/inner/middle/outer
    -
    In the rRESPA integrator, you must compute pairwise potentials either -all together (pair), with different cutoff regions (inner/middle/outer), -or per hybrid sub-style (hybrid). You cannot mix those.
    -
    Cannot set respa middle without inner/outer
    -
    In the rRESPA integrator, you must define both a inner and outer -setting in order to use a middle setting.
    -
    Cannot set restart file size - MPI error: %s
    -
    This error was generated by MPI when reading/writing an MPI-IO restart -file.
    -
    Cannot set smd/contact/radius for this atom style
    -
    Self-explanatory.
    -
    Cannot set smd/mass/density for this atom style
    -
    Self-explanatory.
    -
    Cannot set temperature for fix rigid/nph
    -
    The temp keyword cannot be specified.
    -
    Cannot set theta for atom that is not a line
    -
    Self-explanatory.
    -
    Cannot set this attribute for this atom style
    -
    The attribute being set does not exist for the defined atom style.
    -
    Cannot set variable z velocity for 2d simulation
    -
    Self-explanatory.
    -
    Cannot skew triclinic box in z for 2d simulation
    -
    Self-explanatory.
    -
    Cannot subtract groups using a dynamic group
    -
    This operation is not allowed.
    -
    Cannot union groups using a dynamic group
    -
    This operation is not allowed.
    -
    Cannot use -cuda on and -kokkos on together
    -
    This is not allowed since both packages can use GPUs.
    -
    Cannot use -cuda on without USER-CUDA installed
    -
    The USER-CUDA package must be installed via “make yes-user-cuda” -before LAMMPS is built.
    -
    Cannot use -kokkos on without KOKKOS installed
    -
    Self-explanatory.
    -
    Cannot use -reorder after -partition
    -
    Self-explanatory. See doc page discussion of command-line switches.
    -
    Cannot use Ewald with 2d simulation
    -
    The kspace style ewald cannot be used in 2d simulations. You can use -2d Ewald in a 3d simulation; see the kspace_modify command.
    -
    Cannot use Ewald/disp solver on system with no charge, dipole, or LJ particles
    -
    No atoms in system have a non-zero charge or dipole, or are LJ -particles. Change charges/dipoles or change options of the kspace -solver/pair style.
    -
    Cannot use EwaldDisp with 2d simulation
    -
    This is a current restriction of this command.
    -
    Cannot use GPU package with USER-CUDA package enabled
    -
    You cannot use both the GPU and USER-CUDA packages -together. Use one or the other.
    -
    Cannot use Kokkos pair style with rRESPA inner/middle
    -
    Self-explanatory.
    -
    Cannot use NEB unless atom map exists
    -
    Use the atom_modify command to create an atom map.
    -
    Cannot use NEB with a single replica
    -
    Self-explanatory.
    -
    Cannot use NEB with atom_modify sort enabled
    -
    This is current restriction for NEB implemented in LAMMPS.
    -
    Cannot use PPPM with 2d simulation
    -
    The kspace style pppm cannot be used in 2d simulations. You can use -2d PPPM in a 3d simulation; see the kspace_modify command.
    -
    Cannot use PPPMDisp with 2d simulation
    -
    The kspace style pppm/disp cannot be used in 2d simulations. You can -use 2d pppm/disp in a 3d simulation; see the kspace_modify command.
    -
    Cannot use PRD with a changing box
    -
    The current box dimensions are not copied between replicas
    -
    Cannot use PRD with a time-dependent fix defined
    -
    PRD alters the timestep in ways that will mess up these fixes.
    -
    Cannot use PRD with a time-dependent region defined
    -
    PRD alters the timestep in ways that will mess up these regions.
    -
    Cannot use PRD with atom_modify sort enabled
    -
    This is a current restriction of PRD. You must turn off sorting, -which is enabled by default, via the atom_modify command.
    -
    Cannot use PRD with multi-processor replicas unless atom map exists
    -
    Use the atom_modify command to create an atom map.
    -
    Cannot use TAD unless atom map exists for NEB
    -
    See atom_modify map command to set this.
    -
    Cannot use TAD with a single replica for NEB
    -
    NEB requires multiple replicas.
    -
    Cannot use TAD with atom_modify sort enabled for NEB
    -
    This is a current restriction of NEB.
    -
    Cannot use a damped dynamics min style with fix box/relax
    -
    This is a current restriction in LAMMPS. Use another minimizer -style.
    -
    Cannot use a damped dynamics min style with per-atom DOF
    -
    This is a current restriction in LAMMPS. Use another minimizer -style.
    -
    Cannot use append/atoms in periodic dimension
    -
    The boundary style of the face where atoms are added can not be of -type p (periodic).
    -
    Cannot use atomfile-style variable unless atom map exists
    -
    Self-explanatory. See the atom_modify command to create a map.
    -
    Cannot use both com and bias with compute temp/chunk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with buck/coul/cut/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with buck/coul/long/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with buck/kk
    -
    That style is not supported by Kokkos.
    -
    Cannot use chosen neighbor list style with coul/cut/kk
    -
    That style is not supported by Kokkos.
    -
    Cannot use chosen neighbor list style with coul/debye/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with coul/dsf/kk
    -
    That style is not supported by Kokkos.
    -
    Cannot use chosen neighbor list style with coul/wolf/kk
    -
    That style is not supported by Kokkos.
    -
    Cannot use chosen neighbor list style with lj/charmm/coul/charmm/implicit/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with lj/charmm/coul/charmm/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with lj/charmm/coul/long/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with lj/class2/coul/cut/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with lj/class2/coul/long/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with lj/class2/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with lj/cut/coul/cut/kk
    -
    That style is not supported by Kokkos.
    -
    Cannot use chosen neighbor list style with lj/cut/coul/debye/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with lj/cut/coul/long/kk
    -
    That style is not supported by Kokkos.
    -
    Cannot use chosen neighbor list style with lj/cut/kk
    -
    That style is not supported by Kokkos.
    -
    Cannot use chosen neighbor list style with lj/expand/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with lj/gromacs/coul/gromacs/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with lj/gromacs/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with lj/sdk/kk
    -
    That style is not supported by Kokkos.
    -
    Cannot use chosen neighbor list style with pair eam/kk
    -
    That style is not supported by Kokkos.
    -
    Cannot use chosen neighbor list style with pair eam/kk/alloy
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with pair eam/kk/fs
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with pair sw/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with tersoff/kk
    -
    Self-explanatory.
    -
    Cannot use chosen neighbor list style with tersoff/zbl/kk
    -
    Self-explanatory.
    -
    Cannot use compute chunk/atom bin z for 2d model
    -
    Self-explanatory.
    -
    Cannot use compute cluster/atom unless atoms have IDs
    -
    Atom IDs are used to identify clusters.
    -
    Cannot use create_atoms rotate unless single style
    -
    Self-explanatory.
    -
    Cannot use create_bonds unless atoms have IDs
    -
    This command requires a mapping from global atom IDs to local atoms, -but the atoms that have been defined have no IDs.
    -
    Cannot use create_bonds with non-molecular system
    -
    Self-explanatory.
    -
    Cannot use cwiggle in variable formula between runs
    -
    This is a function of elapsed time.
    -
    Cannot use delete_atoms bond yes with atom_style template
    -
    This is because the bonds for that atom style are hardwired in the -molecule template.
    -
    Cannot use delete_atoms unless atoms have IDs
    -
    Your atoms do not have IDs, so the delete_atoms command cannot be -used.
    -
    Cannot use delete_bonds with non-molecular system
    -
    Your choice of atom style does not have bonds.
    -
    Cannot use dump_modify fileper without % in dump file name
    -
    Self-explanatory.
    -
    Cannot use dump_modify nfile without % in dump file name
    -
    Self-explanatory.
    -
    Cannot use dynamic group with fix adapt atom
    -
    This is not yet supported.
    -
    Cannot use fix TMD unless atom map exists
    -
    Using this fix requires the ability to lookup an atom index, which is -provided by an atom map. An atom map does not exist (by default) for -non-molecular problems. Using the atom_modify map command will force -an atom map to be created.
    -
    Cannot use fix ave/spatial z for 2 dimensional model
    -
    Self-explanatory.
    -
    Cannot use fix bond/break with non-molecular systems
    -
    Only systems with bonds that can be changed can be used. Atom_style -template does not qualify.
    -
    Cannot use fix bond/create with non-molecular systems
    -
    Only systems with bonds that can be changed can be used. Atom_style -template does not qualify.
    -
    Cannot use fix bond/swap with non-molecular systems
    -
    Only systems with bonds that can be changed can be used. Atom_style -template does not qualify.
    -
    Cannot use fix box/relax on a 2nd non-periodic dimension
    -
    When specifying an off-diagonal pressure component, the 2nd of the two -dimensions must be periodic. E.g. if the xy component is specified, -then the y dimension must be periodic.
    -
    Cannot use fix box/relax on a non-periodic dimension
    -
    When specifying a diagonal pressure component, the dimension must be -periodic.
    -
    Cannot use fix box/relax with both relaxation and scaling on a tilt factor
    -
    When specifying scaling on a tilt factor component, that component can not -also be controlled by the barostat. E.g. if scalexy yes is specified and -also keyword tri or xy, this is wrong.
    -
    Cannot use fix box/relax with tilt factor scaling on a 2nd non-periodic dimension
    -
    When specifying scaling on a tilt factor component, the 2nd of the two -dimensions must be periodic. E.g. if the xy component is specified, -then the y dimension must be periodic.
    -
    Cannot use fix deform on a shrink-wrapped boundary
    -
    The x, y, z options cannot be applied to shrink-wrapped -dimensions.
    -
    Cannot use fix deform tilt on a shrink-wrapped 2nd dim
    -
    This is because the shrink-wrapping will change the value -of the strain implied by the tilt factor.
    -
    Cannot use fix deform trate on a box with zero tilt
    -
    The trate style alters the current strain.
    -
    Cannot use fix deposit rigid and not molecule
    -
    Self-explanatory.
    -
    Cannot use fix deposit rigid and shake
    -
    These two attributes are conflicting.
    -
    Cannot use fix deposit shake and not molecule
    -
    Self-explanatory.
    -
    Cannot use fix enforce2d with 3d simulation
    -
    Self-explanatory.
    -
    Cannot use fix gcmc in a 2d simulation
    -
    Fix gcmc is set up to run in 3d only. No 2d simulations with fix gcmc -are allowed.
    -
    Cannot use fix gcmc shake and not molecule
    -
    Self-explanatory.
    -
    Cannot use fix msst without per-type mass defined
    -
    Self-explanatory.
    -
    Cannot use fix npt and fix deform on same component of stress tensor
    -
    This would be changing the same box dimension twice.
    -
    Cannot use fix nvt/npt/nph on a 2nd non-periodic dimension
    -
    When specifying an off-diagonal pressure component, the 2nd of the two -dimensions must be periodic. E.g. if the xy component is specified, -then the y dimension must be periodic.
    -
    Cannot use fix nvt/npt/nph on a non-periodic dimension
    -
    When specifying a diagonal pressure component, the dimension must be -periodic.
    -
    Cannot use fix nvt/npt/nph with both xy dynamics and xy scaling
    -
    Self-explanatory.
    -
    Cannot use fix nvt/npt/nph with both xz dynamics and xz scaling
    -
    Self-explanatory.
    -
    Cannot use fix nvt/npt/nph with both yz dynamics and yz scaling
    -
    Self-explanatory.
    -
    Cannot use fix nvt/npt/nph with xy scaling when y is non-periodic dimension
    -
    The 2nd dimension in the barostatted tilt factor must be periodic.
    -
    Cannot use fix nvt/npt/nph with xz scaling when z is non-periodic dimension
    -
    The 2nd dimension in the barostatted tilt factor must be periodic.
    -
    Cannot use fix nvt/npt/nph with yz scaling when z is non-periodic dimension
    -
    The 2nd dimension in the barostatted tilt factor must be periodic.
    -
    Cannot use fix pour rigid and not molecule
    -
    Self-explanatory.
    -
    Cannot use fix pour rigid and shake
    -
    These two attributes are conflicting.
    -
    Cannot use fix pour shake and not molecule
    -
    Self-explanatory.
    -
    Cannot use fix pour with triclinic box
    -
    This option is not yet supported.
    -
    Cannot use fix press/berendsen and fix deform on same component of stress tensor
    -
    These commands both change the box size/shape, so you cannot use both -together.
    -
    Cannot use fix press/berendsen on a non-periodic dimension
    -
    Self-explanatory.
    -
    Cannot use fix press/berendsen with triclinic box
    -
    Self-explanatory.
    -
    Cannot use fix reax/bonds without pair_style reax
    -
    Self-explantory.
    -
    Cannot use fix rigid npt/nph and fix deform on same component of stress tensor
    -
    This would be changing the same box dimension twice.
    -
    Cannot use fix rigid npt/nph on a non-periodic dimension
    -
    When specifying a diagonal pressure component, the dimension must be -periodic.
    -
    Cannot use fix rigid/small npt/nph on a non-periodic dimension
    -
    When specifying a diagonal pressure component, the dimension must be -periodic.
    -
    Cannot use fix shake with non-molecular system
    -
    Your choice of atom style does not have bonds.
    -
    Cannot use fix ttm with 2d simulation
    -
    This is a current restriction of this fix due to the grid it creates.
    -
    Cannot use fix ttm with triclinic box
    -
    This is a current restriction of this fix due to the grid it creates.
    -
    Cannot use fix tune/kspace without a kspace style
    -
    Self-explanatory.
    -
    Cannot use fix tune/kspace without a pair style
    -
    This fix (tune/kspace) can only be used when a pair style has been specified.
    -
    Cannot use fix wall in periodic dimension
    -
    Self-explanatory.
    -
    Cannot use fix wall zlo/zhi for a 2d simulation
    -
    Self-explanatory.
    -
    Cannot use fix wall/reflect in periodic dimension
    -
    Self-explanatory.
    -
    Cannot use fix wall/reflect zlo/zhi for a 2d simulation
    -
    Self-explanatory.
    -
    Cannot use fix wall/srd in periodic dimension
    -
    Self-explanatory.
    -
    Cannot use fix wall/srd more than once
    -
    Nor is their a need to since multiple walls can be specified -in one command.
    -
    Cannot use fix wall/srd without fix srd
    -
    Self-explanatory.
    -
    Cannot use fix wall/srd zlo/zhi for a 2d simulation
    -
    Self-explanatory.
    -
    Cannot use fix_deposit unless atoms have IDs
    -
    Self-explanatory.
    -
    Cannot use fix_pour unless atoms have IDs
    -
    Self-explanatory.
    -
    Cannot use include command within an if command
    -
    Self-explanatory.
    -
    Cannot use lines with fix srd unless overlap is set
    -
    This is because line segements are connected to each other.
    -
    Cannot use multiple fix wall commands with pair brownian
    -
    Self-explanatory.
    -
    Cannot use multiple fix wall commands with pair lubricate
    -
    Self-explanatory.
    -
    Cannot use multiple fix wall commands with pair lubricate/poly
    -
    Self-explanatory.
    -
    Cannot use multiple fix wall commands with pair lubricateU
    -
    Self-explanatory.
    -
    Cannot use neigh_modify exclude with GPU neighbor builds
    -
    This is a current limitation of the GPU implementation -in LAMMPS.
    -
    Cannot use neighbor bins - box size << cutoff
    -
    Too many neighbor bins will be created. This typically happens when -the simulation box is very small in some dimension, compared to the -neighbor cutoff. Use the “nsq” style instead of “bin” style.
    -
    Cannot use newton pair with beck/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with born/coul/long/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with born/coul/wolf/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with born/gpu pair style
    -
    Self-explantory.
    -
    Cannot use newton pair with buck/coul/cut/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with buck/coul/long/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with buck/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with colloid/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with coul/cut/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with coul/debye/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with coul/dsf/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with coul/long/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with dipole/cut/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with dipole/sf/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with dpd/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with dpd/tstat/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with eam/alloy/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with eam/fs/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with eam/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with gauss/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with gayberne/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/charmm/coul/long/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/class2/coul/long/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/class2/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/cubic/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/cut/coul/cut/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/cut/coul/debye/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/cut/coul/dsf/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/cut/coul/long/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/cut/coul/msm/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/cut/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/expand/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/gromacs/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/sdk/coul/long/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj/sdk/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with lj96/cut/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with mie/cut/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with morse/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with resquared/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with soft/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with table/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with yukawa/colloid/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with yukawa/gpu pair style
    -
    Self-explanatory.
    -
    Cannot use newton pair with zbl/gpu pair style
    -
    Self-explantory.
    -
    Cannot use non-zero forces in an energy minimization
    -
    Fix setforce cannot be used in this manner. Use fix addforce -instead.
    -
    Cannot use nonperiodic boundares with fix ttm
    -
    This fix requires a fully periodic simulation box.
    -
    Cannot use nonperiodic boundaries with Ewald
    -
    For kspace style ewald, all 3 dimensions must have periodic boundaries -unless you use the kspace_modify command to define a 2d slab with a -non-periodic z dimension.
    -
    Cannot use nonperiodic boundaries with EwaldDisp
    -
    For kspace style ewald/disp, all 3 dimensions must have periodic -boundaries unless you use the kspace_modify command to define a 2d -slab with a non-periodic z dimension.
    -
    Cannot use nonperiodic boundaries with PPPM
    -
    For kspace style pppm, all 3 dimensions must have periodic boundaries -unless you use the kspace_modify command to define a 2d slab with a -non-periodic z dimension.
    -
    Cannot use nonperiodic boundaries with PPPMDisp
    -
    For kspace style pppm/disp, all 3 dimensions must have periodic -boundaries unless you use the kspace_modify command to define a 2d -slab with a non-periodic z dimension.
    -
    Cannot use order greater than 8 with pppm/gpu.
    -
    Self-explanatory.
    -
    Cannot use package gpu neigh yes with triclinic box
    -
    This is a current restriction in LAMMPS.
    -
    Cannot use pair hybrid with GPU neighbor list builds
    -
    Neighbor list builds must be done on the CPU for this pair style.
    -
    Cannot use pair tail corrections with 2d simulations
    -
    The correction factors are only currently defined for 3d systems.
    -
    Cannot use processors part command without using partitions
    -
    See the command-line -partition switch.
    -
    Cannot use ramp in variable formula between runs
    -
    This is because the ramp() function is time dependent.
    -
    Cannot use read_data add before simulation box is defined
    -
    Self-explanatory.
    -
    Cannot use read_data extra with add flag
    -
    Self-explanatory.
    -
    Cannot use read_data offset without add flag
    -
    Self-explanatory.
    -
    Cannot use read_data shift without add flag
    -
    Self-explanatory.
    -
    Cannot use region INF or EDGE when box does not exist
    -
    Regions that extend to the box boundaries can only be used after the -create_box command has been used.
    -
    Cannot use set atom with no atom IDs defined
    -
    Atom IDs are not defined, so they cannot be used to identify an atom.
    -
    Cannot use set mol with no molecule IDs defined
    -
    Self-explanatory.
    -
    Cannot use swiggle in variable formula between runs
    -
    This is a function of elapsed time.
    -
    Cannot use tris with fix srd unless overlap is set
    -
    This is because triangles are connected to each other.
    -
    Cannot use variable energy with constant efield in fix efield
    -
    LAMMPS computes the energy itself when the E-field is constant.
    -
    Cannot use variable energy with constant force in fix addforce
    -
    This is because for constant force, LAMMPS can compute the change -in energy directly.
    -
    Cannot use variable every setting for dump dcd
    -
    The format of DCD dump files requires snapshots be output -at a constant frequency.
    -
    Cannot use variable every setting for dump xtc
    -
    The format of this file requires snapshots at regular intervals.
    -
    Cannot use vdisplace in variable formula between runs
    -
    This is a function of elapsed time.
    -
    Cannot use velocity bias command without temp keyword
    -
    Self-explanatory.
    -
    Cannot use velocity create loop all unless atoms have IDs
    -
    Atoms in the simulation to do not have IDs, so this style -of velocity creation cannot be performed.
    -
    Cannot use wall in periodic dimension
    -
    Self-explanatory.
    -
    Cannot use write_restart fileper without % in restart file name
    -
    Self-explanatory.
    -
    Cannot use write_restart nfile without % in restart file name
    -
    Self-explanatory.
    -
    Cannot wiggle and shear fix wall/gran
    -
    Cannot specify both options at the same time.
    -
    Cannot write to restart file - MPI error: %s
    -
    This error was generated by MPI when reading/writing an MPI-IO restart -file.
    -
    Cannot yet use KSpace solver with grid with comm style tiled
    -
    This is current restriction in LAMMPS.
    -
    Cannot yet use comm_style tiled with multi-mode comm
    -
    Self-explanatory.
    -
    Cannot yet use comm_style tiled with triclinic box
    -
    Self-explanatory.
    -
    Cannot yet use compute tally with Kokkos
    -
    This feature is not yet supported.
    -
    Cannot yet use fix bond/break with this improper style
    -
    This is a current restriction in LAMMPS.
    -
    Cannot yet use fix bond/create with this improper style
    -
    This is a current restriction in LAMMPS.
    -
    Cannot yet use minimize with Kokkos
    -
    This feature is not yet supported.
    -
    Cannot yet use pair hybrid with Kokkos
    -
    This feature is not yet supported.
    -
    Cannot zero Langevin force of 0 atoms
    -
    The group has zero atoms, so you cannot request its force -be zeroed.
    -
    Cannot zero gld force for zero atoms
    -
    There are no atoms currently in the group.
    -
    Cannot zero momentum of no atoms
    -
    Self-explanatory.
    -
    Change_box command before simulation box is defined
    -
    Self-explanatory.
    -
    Change_box volume used incorrectly
    -
    The “dim volume” option must be used immediately following one or two -settings for “dim1 ...” (and optionally “dim2 ...”) and must be for a -different dimension, i.e. dim != dim1 and dim != dim2.
    -
    Chunk/atom compute does not exist for compute angmom/chunk
    -
    Self-explanatory.
    -
    Chunk/atom compute does not exist for compute com/chunk
    -
    Self-explanatory.
    -
    Chunk/atom compute does not exist for compute gyration/chunk
    -
    Self-explanatory.
    -
    Chunk/atom compute does not exist for compute inertia/chunk
    -
    Self-explanatory.
    -
    Chunk/atom compute does not exist for compute msd/chunk
    -
    Self-explanatory.
    -
    Chunk/atom compute does not exist for compute omega/chunk
    -
    Self-explanatory.
    -
    Chunk/atom compute does not exist for compute property/chunk
    -
    Self-explanatory.
    -
    Chunk/atom compute does not exist for compute temp/chunk
    -
    Self-explanatory.
    -
    Chunk/atom compute does not exist for compute torque/chunk
    -
    Self-explanatory.
    -
    Chunk/atom compute does not exist for compute vcm/chunk
    -
    Self-explanatory.
    -
    Chunk/atom compute does not exist for fix ave/chunk
    -
    Self-explanatory.
    -
    Comm tiled invalid index in box drop brick
    -
    Internal error check in comm_style tiled which should not occur. -Contact the developers.
    -
    Comm tiled mis-match in box drop brick
    -
    Internal error check in comm_style tiled which should not occur. -Contact the developers.
    -
    Comm_modify group != atom_modify first group
    -
    Self-explanatory.
    -
    Communication cutoff for comm_style tiled cannot exceed periodic box length
    -
    Self-explanatory.
    -
    Communication cutoff too small for SNAP micro load balancing
    -
    This can happen if you change the neighbor skin after your pair_style -command or if your box dimensions grow during a run. You can set the -cutoff explicitly via the comm_modify cutoff command.
    -
    Compute %s does not allow use of dynamic group
    -
    Dynamic groups have not yet been enabled for this compute.
    -
    Compute ID for compute chunk /atom does not exist
    -
    Self-explanatory.
    -
    Compute ID for compute chunk/atom does not exist
    -
    Self-explanatory.
    -
    Compute ID for compute reduce does not exist
    -
    Self-explanatory.
    -
    Compute ID for compute slice does not exist
    -
    Self-explanatory.
    -
    Compute ID for fix ave/atom does not exist
    -
    Self-explanatory.
    -
    Compute ID for fix ave/chunk does not exist
    -
    Self-explanatory.
    -
    Compute ID for fix ave/correlate does not exist
    -
    Self-explanatory.
    -
    Compute ID for fix ave/histo does not exist
    -
    Self-explanatory.
    -
    Compute ID for fix ave/spatial does not exist
    -
    Self-explanatory.
    -
    Compute ID for fix ave/time does not exist
    -
    Self-explanatory.
    -
    Compute ID for fix store/state does not exist
    -
    Self-explanatory.
    -
    Compute ID for fix vector does not exist
    -
    Self-explanatory.
    -
    Compute ID must be alphanumeric or underscore characters
    -
    Self-explanatory.
    -
    Compute angle/local used when angles are not allowed
    -
    The atom style does not support angles.
    -
    Compute angmom/chunk does not use chunk/atom compute
    -
    The style of the specified compute is not chunk/atom.
    -
    Compute body/local requires atom style body
    -
    Self-explanatory.
    -
    Compute bond/local used when bonds are not allowed
    -
    The atom style does not support bonds.
    -
    Compute centro/atom requires a pair style be defined
    -
    This is because the computation of the centro-symmetry values -uses a pairwise neighbor list.
    -
    Compute chunk/atom bin/cylinder radius is too large for periodic box
    -
    Radius cannot be bigger than 1/2 of a non-axis periodic dimention.
    -
    Compute chunk/atom bin/sphere radius is too large for periodic box
    -
    Radius cannot be bigger than 1/2 of any periodic dimention.
    -
    Compute chunk/atom compute array is accessed out-of-range
    -
    The index for the array is out of bounds.
    -
    Compute chunk/atom compute does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Compute chunk/atom compute does not calculate a per-atom vector
    -
    Self-explanatory.
    -
    Compute chunk/atom compute does not calculate per-atom values
    -
    Self-explanatory.
    -
    Compute chunk/atom cylinder axis must be z for 2d
    -
    Self-explanatory.
    -
    Compute chunk/atom fix array is accessed out-of-range
    -
    the index for the array is out of bounds.
    -
    Compute chunk/atom fix does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Compute chunk/atom fix does not calculate a per-atom vector
    -
    Self-explanatory.
    -
    Compute chunk/atom fix does not calculate per-atom values
    -
    Self-explanatory.
    -
    Compute chunk/atom for triclinic boxes requires units reduced
    -
    Self-explanatory.
    -
    Compute chunk/atom ids once but nchunk is not once
    -
    You cannot assign chunks IDs to atom permanently if the number of -chunks may change.
    -
    Compute chunk/atom molecule for non-molecular system
    -
    Self-explanatory.
    -
    Compute chunk/atom sphere z origin must be 0.0 for 2d
    -
    Self-explanatory.
    -
    Compute chunk/atom stores no IDs for compute property/chunk
    -
    It will only store IDs if its compress option is enabled.
    -
    Compute chunk/atom stores no coord1 for compute property/chunk
    -
    Only certain binning options for comptue chunk/atom store coordinates.
    -
    Compute chunk/atom stores no coord2 for compute property/chunk
    -
    Only certain binning options for comptue chunk/atom store coordinates.
    -
    Compute chunk/atom stores no coord3 for compute property/chunk
    -
    Only certain binning options for comptue chunk/atom store coordinates.
    -
    Compute chunk/atom variable is not atom-style variable
    -
    Self-explanatory.
    -
    Compute chunk/atom without bins cannot use discard mixed
    -
    That discard option only applies to the binning styles.
    -
    Compute cluster/atom cutoff is longer than pairwise cutoff
    -
    Cannot identify clusters beyond cutoff.
    -
    Compute cluster/atom requires a pair style be defined
    -
    This is so that the pair style defines a cutoff distance which -is used to find clusters.
    -
    Compute cna/atom cutoff is longer than pairwise cutoff
    -
    Self-explantory.
    -
    Compute cna/atom requires a pair style be defined
    -
    Self-explantory.
    -
    Compute com/chunk does not use chunk/atom compute
    -
    The style of the specified compute is not chunk/atom.
    -
    Compute contact/atom requires a pair style be defined
    -
    Self-explantory.
    -
    Compute contact/atom requires atom style sphere
    -
    Self-explanatory.
    -
    Compute coord/atom cutoff is longer than pairwise cutoff
    -
    Cannot compute coordination at distances longer than the pair cutoff, -since those atoms are not in the neighbor list.
    -
    Compute coord/atom requires a pair style be defined
    -
    Self-explantory.
    -
    Compute damage/atom requires peridynamic potential
    -
    Damage is a Peridynamic-specific metric. It requires you -to be running a Peridynamics simulation.
    -
    Compute dihedral/local used when dihedrals are not allowed
    -
    The atom style does not support dihedrals.
    -
    Compute dilatation/atom cannot be used with this pair style
    -
    Self-explanatory.
    -
    Compute dilatation/atom requires Peridynamic pair style
    -
    Self-explanatory.
    -
    Compute does not allow an extra compute or fix to be reset
    -
    This is an internal LAMMPS error. Please report it to the -developers.
    -
    Compute erotate/asphere requires atom style ellipsoid or line or tri
    -
    Self-explanatory.
    -
    Compute erotate/asphere requires extended particles
    -
    This compute cannot be used with point paritlces.
    -
    Compute erotate/rigid with non-rigid fix-ID
    -
    Self-explanatory.
    -
    Compute erotate/sphere requires atom style sphere
    -
    Self-explanatory.
    -
    Compute erotate/sphere/atom requires atom style sphere
    -
    Self-explanatory.
    -
    Compute event/displace has invalid fix event assigned
    -
    This is an internal LAMMPS error. Please report it to the -developers.
    -
    Compute group/group group ID does not exist
    -
    Self-explanatory.
    -
    Compute gyration/chunk does not use chunk/atom compute
    -
    The style of the specified compute is not chunk/atom.
    -
    Compute heat/flux compute ID does not compute ke/atom
    -
    Self-explanatory.
    -
    Compute heat/flux compute ID does not compute pe/atom
    -
    Self-explanatory.
    -
    Compute heat/flux compute ID does not compute stress/atom
    -
    Self-explanatory.
    -
    Compute hexorder/atom cutoff is longer than pairwise cutoff
    -
    Cannot compute order parameter beyond cutoff.
    -
    Compute hexorder/atom requires a pair style be defined
    -
    Self-explantory.
    -
    Compute improper/local used when impropers are not allowed
    -
    The atom style does not support impropers.
    -
    Compute inertia/chunk does not use chunk/atom compute
    -
    The style of the specified compute is not chunk/atom.
    -
    Compute ke/rigid with non-rigid fix-ID
    -
    Self-explanatory.
    -
    Compute msd/chunk does not use chunk/atom compute
    -
    The style of the specified compute is not chunk/atom.
    -
    Compute msd/chunk nchunk is not static
    -
    This is required because the MSD cannot be computed consistently if -the number of chunks is changing. Compute chunk/atom allows setting -nchunk to be static.
    -
    Compute nve/asphere requires atom style ellipsoid
    -
    Self-explanatory.
    -
    Compute nvt/nph/npt asphere requires atom style ellipsoid
    -
    Self-explanatory.
    -
    Compute nvt/nph/npt body requires atom style body
    -
    Self-explanatory.
    -
    Compute omega/chunk does not use chunk/atom compute
    -
    The style of the specified compute is not chunk/atom.
    -
    Compute orientorder/atom cutoff is longer than pairwise cutoff
    -
    Cannot compute order parameter beyond cutoff.
    -
    Compute orientorder/atom requires a pair style be defined
    -
    Self-explantory.
    -
    Compute pair must use group all
    -
    Pair styles accumlate energy on all atoms.
    -
    Compute pe must use group all
    -
    Energies computed by potentials (pair, bond, etc) are computed on all -atoms.
    -
    Compute plasticity/atom cannot be used with this pair style
    -
    Self-explanatory.
    -
    Compute plasticity/atom requires Peridynamic pair style
    -
    Self-explanatory.
    -
    Compute pressure must use group all
    -
    Virial contributions computed by potentials (pair, bond, etc) are -computed on all atoms.
    -
    Compute pressure requires temperature ID to include kinetic energy
    -
    The keflag cannot be used unless a temperature compute is provided.
    -
    Compute pressure temperature ID does not compute temperature
    -
    The compute ID assigned to a pressure computation must compute -temperature.
    -
    Compute property/atom floating point vector does not exist
    -
    The command is accessing a vector added by the fix property/atom -command, that does not exist.
    -
    Compute property/atom for atom property that isn’t allocated
    -
    Self-explanatory.
    -
    Compute property/atom integer vector does not exist
    -
    The command is accessing a vector added by the fix property/atom -command, that does not exist.
    -
    Compute property/chunk does not use chunk/atom compute
    -
    The style of the specified compute is not chunk/atom.
    -
    Compute property/local cannot use these inputs together
    -
    Only inputs that generate the same number of datums can be used -togther. E.g. bond and angle quantities cannot be mixed.
    -
    Compute property/local does not (yet) work with atom_style template
    -
    Self-explanatory.
    -
    Compute property/local for property that isn’t allocated
    -
    Self-explanatory.
    -
    Compute rdf requires a pair style be defined
    -
    Self-explanatory.
    -
    Compute reduce compute array is accessed out-of-range
    -
    An index for the array is out of bounds.
    -
    Compute reduce compute calculates global values
    -
    A compute that calculates peratom or local values is required.
    -
    Compute reduce compute does not calculate a local array
    -
    Self-explanatory.
    -
    Compute reduce compute does not calculate a local vector
    -
    Self-explanatory.
    -
    Compute reduce compute does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Compute reduce compute does not calculate a per-atom vector
    -
    Self-explanatory.
    -
    Compute reduce fix array is accessed out-of-range
    -
    An index for the array is out of bounds.
    -
    Compute reduce fix calculates global values
    -
    A fix that calculates peratom or local values is required.
    -
    Compute reduce fix does not calculate a local array
    -
    Self-explanatory.
    -
    Compute reduce fix does not calculate a local vector
    -
    Self-explanatory.
    -
    Compute reduce fix does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Compute reduce fix does not calculate a per-atom vector
    -
    Self-explanatory.
    -
    Compute reduce replace requires min or max mode
    -
    Self-explanatory.
    -
    Compute reduce variable is not atom-style variable
    -
    Self-explanatory.
    -
    Compute slice compute array is accessed out-of-range
    -
    An index for the array is out of bounds.
    -
    Compute slice compute does not calculate a global array
    -
    Self-explanatory.
    -
    Compute slice compute does not calculate a global vector
    -
    Self-explanatory.
    -
    Compute slice compute does not calculate global vector or array
    -
    Self-explanatory.
    -
    Compute slice compute vector is accessed out-of-range
    -
    The index for the vector is out of bounds.
    -
    Compute slice fix array is accessed out-of-range
    -
    An index for the array is out of bounds.
    -
    Compute slice fix does not calculate a global array
    -
    Self-explanatory.
    -
    Compute slice fix does not calculate a global vector
    -
    Self-explanatory.
    -
    Compute slice fix does not calculate global vector or array
    -
    Self-explanatory.
    -
    Compute slice fix vector is accessed out-of-range
    -
    The index for the vector is out of bounds.
    -
    Compute sna/atom cutoff is longer than pairwise cutoff
    -
    Self-explanatory.
    -
    Compute sna/atom requires a pair style be defined
    -
    Self-explanatory.
    -
    Compute snad/atom cutoff is longer than pairwise cutoff
    -
    Self-explanatory.
    -
    Compute snad/atom requires a pair style be defined
    -
    Self-explanatory.
    -
    Compute snav/atom cutoff is longer than pairwise cutoff
    -
    Self-explanatory.
    -
    Compute snav/atom requires a pair style be defined
    -
    Self-explanatory.
    -
    Compute stress/atom temperature ID does not compute temperature
    -
    The specified compute must compute temperature.
    -
    Compute temp/asphere requires atom style ellipsoid
    -
    Self-explanatory.
    -
    Compute temp/asphere requires extended particles
    -
    This compute cannot be used with point paritlces.
    -
    Compute temp/body requires atom style body
    -
    Self-explanatory.
    -
    Compute temp/body requires bodies
    -
    This compute can only be applied to body particles.
    -
    Compute temp/chunk does not use chunk/atom compute
    -
    The style of the specified compute is not chunk/atom.
    -
    Compute temp/cs requires ghost atoms store velocity
    -
    Use the comm_modify vel yes command to enable this.
    -
    Compute temp/cs used when bonds are not allowed
    -
    This compute only works on pairs of bonded particles.
    -
    Compute temp/partial cannot use vz for 2d systemx
    -
    Self-explanatory.
    -
    Compute temp/profile cannot bin z for 2d systems
    -
    Self-explanatory.
    -
    Compute temp/profile cannot use vz for 2d systemx
    -
    Self-explanatory.
    -
    Compute temp/sphere requires atom style sphere
    -
    Self-explanatory.
    -
    Compute ti kspace style does not exist
    -
    Self-explanatory.
    -
    Compute ti pair style does not exist
    -
    Self-explanatory.
    -
    Compute ti tail when pair style does not compute tail corrections
    -
    Self-explanatory.
    -
    Compute torque/chunk does not use chunk/atom compute
    -
    The style of the specified compute is not chunk/atom.
    -
    Compute used in dump between runs is not current
    -
    The compute was not invoked on the current timestep, therefore it -cannot be used in a dump between runs.
    -
    Compute used in variable between runs is not current
    -
    Computes cannot be invoked by a variable in between runs. Thus they -must have been evaluated on the last timestep of the previous run in -order for their value(s) to be accessed. See the doc page for the -variable command for more info.
    -
    Compute used in variable thermo keyword between runs is not current
    -
    Some thermo keywords rely on a compute to calculate their value(s). -Computes cannot be invoked by a variable in between runs. Thus they -must have been evaluated on the last timestep of the previous run in -order for their value(s) to be accessed. See the doc page for the -variable command for more info.
    -
    Compute vcm/chunk does not use chunk/atom compute
    -
    The style of the specified compute is not chunk/atom.
    -
    Computed temperature for fix temp/berendsen cannot be 0.0
    -
    Self-explanatory.
    -
    Computed temperature for fix temp/rescale cannot be 0.0
    -
    Cannot rescale the temperature to a new value if the current -temperature is 0.0.
    -
    Core/shell partner atom not found
    -
    Could not find one of the atoms in the bond pair.
    -
    Core/shell partners were not all found
    -
    Could not find or more atoms in the bond pairs.
    -
    Could not adjust g_ewald_6
    -
    The Newton-Raphson solver failed to converge to a good value for -g_ewald. This error should not occur for typical problems. Please -send an email to the developers.
    -
    Could not compute g_ewald
    -
    The Newton-Raphson solver failed to converge to a good value for -g_ewald. This error should not occur for typical problems. Please -send an email to the developers.
    -
    Could not compute grid size
    -
    The code is unable to compute a grid size consistent with the desired -accuracy. This error should not occur for typical problems. Please -send an email to the developers.
    -
    Could not compute grid size for Coulomb interaction
    -
    The code is unable to compute a grid size consistent with the desired -accuracy. This error should not occur for typical problems. Please -send an email to the developers.
    -
    Could not compute grid size for Dispersion
    -
    The code is unable to compute a grid size consistent with the desired -accuracy. This error should not occur for typical problems. Please -send an email to the developers.
    -
    Could not create 3d FFT plan
    -
    The FFT setup for the PPPM solver failed, typically due -to lack of memory. This is an unusual error. Check the -size of the FFT grid you are requesting.
    -
    Could not create 3d grid of processors
    -
    The specified constraints did not allow a Px by Py by Pz grid to be -created where Px * Py * Pz = P = total number of processors.
    -
    Could not create 3d remap plan
    -
    The FFT setup in pppm failed.
    -
    Could not create Python function arguments
    -
    This is an internal Python error, possibly because the number -of inputs to the function is too large.
    -
    Could not create numa grid of processors
    -
    The specified constraints did not allow this style of grid to be -created. Usually this is because the total processor count is not a -multiple of the cores/node or the user specified processor count is > -1 in one of the dimensions.
    -
    Could not create twolevel 3d grid of processors
    -
    The specified constraints did not allow this style of grid to be -created.
    -
    Could not evaluate Python function input variable
    -
    Self-explanatory.
    -
    Could not find Python function
    -
    The provided Python code was run successfully, but it not -define a callable function with the required name.
    -
    Could not find atom_modify first group ID
    -
    Self-explanatory.
    -
    Could not find change_box group ID
    -
    Group ID used in the change_box command does not exist.
    -
    Could not find compute ID for PRD
    -
    Self-explanatory.
    -
    Could not find compute ID for TAD
    -
    Self-explanatory.
    -
    Could not find compute ID for temperature bias
    -
    Self-explanatory.
    -
    Could not find compute ID to delete
    -
    Self-explanatory.
    -
    Could not find compute displace/atom fix ID
    -
    Self-explanatory.
    -
    Could not find compute event/displace fix ID
    -
    Self-explanatory.
    -
    Could not find compute group ID
    -
    Self-explanatory.
    -
    Could not find compute heat/flux compute ID
    -
    Self-explanatory.
    -
    Could not find compute msd fix ID
    -
    Self-explanatory.
    -
    Could not find compute msd/chunk fix ID
    -
    The compute creates an internal fix, which has been deleted.
    -
    Could not find compute pressure temperature ID
    -
    The compute ID for calculating temperature does not exist.
    -
    Could not find compute stress/atom temperature ID
    -
    Self-explanatory.
    -
    Could not find compute vacf fix ID
    -
    Self-explanatory.
    -
    Could not find compute/voronoi surface group ID
    -
    Self-explanatory.
    -
    Could not find compute_modify ID
    -
    Self-explanatory.
    -
    Could not find custom per-atom property ID
    -
    Self-explanatory.
    -
    Could not find delete_atoms group ID
    -
    Group ID used in the delete_atoms command does not exist.
    -
    Could not find delete_atoms region ID
    -
    Region ID used in the delete_atoms command does not exist.
    -
    Could not find displace_atoms group ID
    -
    Group ID used in the displace_atoms command does not exist.
    -
    Could not find dump custom compute ID
    -
    Self-explanatory.
    -
    Could not find dump custom fix ID
    -
    Self-explanatory.
    -
    Could not find dump custom variable name
    -
    Self-explanatory.
    -
    Could not find dump group ID
    -
    A group ID used in the dump command does not exist.
    -
    Could not find dump local compute ID
    -
    Self-explanatory.
    -
    Could not find dump local fix ID
    -
    Self-explanatory.
    -
    Could not find dump modify compute ID
    -
    Self-explanatory.
    -
    Could not find dump modify custom atom floating point property ID
    -
    Self-explanatory.
    -
    Could not find dump modify custom atom integer property ID
    -
    Self-explanatory.
    -
    Could not find dump modify fix ID
    -
    Self-explanatory.
    -
    Could not find dump modify variable name
    -
    Self-explanatory.
    -
    Could not find fix ID to delete
    -
    Self-explanatory.
    -
    Could not find fix adapt storage fix ID
    -
    This should not happen unless you explicitly deleted -a secondary fix that fix adapt created internally.
    -
    Could not find fix gcmc exclusion group ID
    -
    Self-explanatory.
    -
    Could not find fix gcmc rotation group ID
    -
    Self-explanatory.
    -
    Could not find fix group ID
    -
    A group ID used in the fix command does not exist.
    -
    Could not find fix msst compute ID
    -
    Self-explanatory.
    -
    Could not find fix poems group ID
    -
    A group ID used in the fix poems command does not exist.
    -
    Could not find fix recenter group ID
    -
    A group ID used in the fix recenter command does not exist.
    -
    Could not find fix rigid group ID
    -
    A group ID used in the fix rigid command does not exist.
    -
    Could not find fix srd group ID
    -
    Self-explanatory.
    -
    Could not find fix_modify ID
    -
    A fix ID used in the fix_modify command does not exist.
    -
    Could not find fix_modify pressure ID
    -
    The compute ID for computing pressure does not exist.
    -
    Could not find fix_modify temperature ID
    -
    The compute ID for computing temperature does not exist.
    -
    Could not find group clear group ID
    -
    Self-explanatory.
    -
    Could not find group delete group ID
    -
    Self-explanatory.
    -
    Could not find pair fix ID
    -
    A fix is created internally by the pair style to store shear -history information. You cannot delete it.
    -
    Could not find set group ID
    -
    Group ID specified in set command does not exist.
    -
    Could not find specified fix gcmc group ID
    -
    Self-explanatory.
    -
    Could not find thermo compute ID
    -
    Compute ID specified in thermo_style command does not exist.
    -
    Could not find thermo custom compute ID
    -
    The compute ID needed by thermo style custom to compute a requested -quantity does not exist.
    -
    Could not find thermo custom fix ID
    -
    The fix ID needed by thermo style custom to compute a requested -quantity does not exist.
    -
    Could not find thermo custom variable name
    -
    Self-explanatory.
    -
    Could not find thermo fix ID
    -
    Fix ID specified in thermo_style command does not exist.
    -
    Could not find thermo variable name
    -
    Self-explanatory.
    -
    Could not find thermo_modify pressure ID
    -
    The compute ID needed by thermo style custom to compute pressure does -not exist.
    -
    Could not find thermo_modify temperature ID
    -
    The compute ID needed by thermo style custom to compute temperature does -not exist.
    -
    Could not find undump ID
    -
    A dump ID used in the undump command does not exist.
    -
    Could not find velocity group ID
    -
    A group ID used in the velocity command does not exist.
    -
    Could not find velocity temperature ID
    -
    The compute ID needed by the velocity command to compute temperature -does not exist.
    -
    Could not find/initialize a specified accelerator device
    -
    Could not initialize at least one of the devices specified for the gpu -package
    -
    Could not grab element entry from EIM potential file
    -
    Self-explanatory
    -
    Could not grab global entry from EIM potential file
    -
    Self-explanatory.
    -
    Could not grab pair entry from EIM potential file
    -
    Self-explanatory.
    -
    Could not initialize embedded Python
    -
    The main module in Python was not accessible.
    -
    Could not open Python file
    -
    The specified file of Python code cannot be opened. Check that the -path and name are correct.
    -
    Could not process Python file
    -
    The Python code in the specified file was not run sucessfully by -Python, probably due to errors in the Python code.
    -
    Could not process Python string
    -
    The Python code in the here string was not run sucessfully by Python, -probably due to errors in the Python code.
    -
    Coulomb PPPMDisp order has been reduced below minorder
    -
    The default minimum order is 2. This can be reset by the -kspace_modify minorder command.
    -
    Coulomb cut not supported in pair_style buck/long/coul/coul
    -
    Must use long-range Coulombic interactions.
    -
    Coulomb cut not supported in pair_style lj/long/coul/long
    -
    Must use long-range Coulombic interactions.
    -
    Coulomb cut not supported in pair_style lj/long/tip4p/long
    -
    Must use long-range Coulombic interactions.
    -
    Coulomb cutoffs of pair hybrid sub-styles do not match
    -
    If using a Kspace solver, all Coulomb cutoffs of long pair styles must -be the same.
    -
    Coulombic cut not supported in pair_style lj/long/dipole/long
    -
    Must use long-range Coulombic interactions.
    -
    Cound not find dump_modify ID
    -
    Self-explanatory.
    -
    Create_atoms command before simulation box is defined
    -
    The create_atoms command cannot be used before a read_data, -read_restart, or create_box command.
    -
    Create_atoms molecule has atom IDs, but system does not
    -
    The atom_style id command can be used to force atom IDs to be stored.
    -
    Create_atoms molecule must have atom types
    -
    The defined molecule does not specify atom types.
    -
    Create_atoms molecule must have coordinates
    -
    The defined molecule does not specify coordinates.
    -
    Create_atoms region ID does not exist
    -
    A region ID used in the create_atoms command does not exist.
    -
    Create_bonds command before simulation box is defined
    -
    Self-explanatory.
    -
    Create_bonds command requires no kspace_style be defined
    -
    This is so that atom pairs that are already bonded to not appear -in the neighbor list.
    -
    Create_bonds command requires special_bonds 1-2 weights be 0.0
    -
    This is so that atom pairs that are already bonded to not appear in -the neighbor list.
    -
    Create_bonds max distance > neighbor cutoff
    -
    Can only create bonds for atom pairs that will be in neighbor list.
    -
    Create_bonds requires a pair style be defined
    -
    Self-explanatory.
    -
    Create_box region ID does not exist
    -
    Self-explanatory.
    -
    Create_box region does not support a bounding box
    -
    Not all regions represent bounded volumes. You cannot use -such a region with the create_box command.
    -
    Custom floating point vector for fix store/state does not exist
    -
    The command is accessing a vector added by the fix property/atom -command, that does not exist.
    -
    Custom integer vector for fix store/state does not exist
    -
    The command is accessing a vector added by the fix property/atom -command, that does not exist.
    -
    Custom per-atom property ID is not floating point
    -
    Self-explanatory.
    -
    Custom per-atom property ID is not integer
    -
    Self-explanatory.
    -
    Cut-offs missing in pair_style lj/long/dipole/long
    -
    Self-explanatory.
    -
    Cutoffs missing in pair_style buck/long/coul/long
    -
    Self-exlanatory.
    -
    Cutoffs missing in pair_style lj/long/coul/long
    -
    Self-explanatory.
    -
    Cyclic loop in joint connections
    -
    Fix poems cannot (yet) work with coupled bodies whose joints connect -the bodies in a ring (or cycle).
    -
    Degenerate lattice primitive vectors
    -
    Invalid set of 3 lattice vectors for lattice command.
    -
    Delete region ID does not exist
    -
    Self-explanatory.
    -
    Delete_atoms command before simulation box is defined
    -
    The delete_atoms command cannot be used before a read_data, -read_restart, or create_box command.
    -
    Delete_atoms cutoff > max neighbor cutoff
    -
    Can only delete atoms in atom pairs that will be in neighbor list.
    -
    Delete_atoms mol yes requires atom attribute molecule
    -
    Cannot use this option with a non-molecular system.
    -
    Delete_atoms requires a pair style be defined
    -
    This is because atom deletion within a cutoff uses a pairwise -neighbor list.
    -
    Delete_bonds command before simulation box is defined
    -
    The delete_bonds command cannot be used before a read_data, -read_restart, or create_box command.
    -
    Delete_bonds command with no atoms existing
    -
    No atoms are yet defined so the delete_bonds command cannot be used.
    -
    Deposition region extends outside simulation box
    -
    Self-explanatory.
    -
    Did not assign all atoms correctly
    -
    Atoms read in from a data file were not assigned correctly to -processors. This is likely due to some atom coordinates being -outside a non-periodic simulation box.
    -
    Did not assign all restart atoms correctly
    -
    Atoms read in from the restart file were not assigned correctly to -processors. This is likely due to some atom coordinates being outside -a non-periodic simulation box. Normally this should not happen. You -may wish to use the “remap” option on the read_restart command to see -if this helps.
    -
    Did not find all elements in MEAM library file
    -
    The requested elements were not found in the MEAM file.
    -
    Did not find fix shake partner info
    -
    Could not find bond partners implied by fix shake command. This error -can be triggered if the delete_bonds command was used before fix -shake, and it removed bonds without resetting the 1-2, 1-3, 1-4 -weighting list via the special keyword.
    -
    Did not find keyword in table file
    -
    Keyword used in pair_coeff command was not found in table file.
    -
    Did not set pressure for fix rigid/nph
    -
    The press keyword must be specified.
    -
    Did not set temp for fix rigid/nvt/small
    -
    Self-explanatory.
    -
    Did not set temp or press for fix rigid/npt/small
    -
    Self-explanatory.
    -
    Did not set temperature for fix rigid/nvt
    -
    The temp keyword must be specified.
    -
    Did not set temperature or pressure for fix rigid/npt
    -
    The temp and press keywords must be specified.
    -
    Dihedral atom missing in delete_bonds
    -
    The delete_bonds command cannot find one or more atoms in a particular -dihedral on a particular processor. The pairwise cutoff is too short -or the atoms are too far apart to make a valid dihedral.
    -
    Dihedral atom missing in set command
    -
    The set command cannot find one or more atoms in a particular dihedral -on a particular processor. The pairwise cutoff is too short or the -atoms are too far apart to make a valid dihedral.
    -
    Dihedral atoms %d %d %d %d missing on proc %d at step %ld
    -
    One or more of 4 atoms needed to compute a particular dihedral are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the dihedral has blown apart and an atom is -too far away.
    -
    Dihedral atoms missing on proc %d at step %ld
    -
    One or more of 4 atoms needed to compute a particular dihedral are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the dihedral has blown apart and an atom is -too far away.
    -
    Dihedral charmm is incompatible with Pair style
    -
    Dihedral style charmm must be used with a pair style charmm -in order for the 1-4 epsilon/sigma parameters to be defined.
    -
    Dihedral coeff for hybrid has invalid style
    -
    Dihedral style hybrid uses another dihedral style as one of its -coefficients. The dihedral style used in the dihedral_coeff command -or read from a restart file is not recognized.
    -
    Dihedral coeffs are not set
    -
    No dihedral coefficients have been assigned in the data file or via -the dihedral_coeff command.
    -
    Dihedral style hybrid cannot have hybrid as an argument
    -
    Self-explanatory.
    -
    Dihedral style hybrid cannot have none as an argument
    -
    Self-explanatory.
    -
    Dihedral style hybrid cannot use same dihedral style twice
    -
    Self-explanatory.
    -
    Dihedral/improper extent > half of periodic box length
    -
    This error was detected by the neigh_modify check yes setting. It is -an error because the dihedral atoms are so far apart it is ambiguous -how it should be defined.
    -
    Dihedral_coeff command before dihedral_style is defined
    -
    Coefficients cannot be set in the data file or via the dihedral_coeff -command until an dihedral_style has been assigned.
    -
    Dihedral_coeff command before simulation box is defined
    -
    The dihedral_coeff command cannot be used before a read_data, -read_restart, or create_box command.
    -
    Dihedral_coeff command when no dihedrals allowed
    -
    The chosen atom style does not allow for dihedrals to be defined.
    -
    Dihedral_style command when no dihedrals allowed
    -
    The chosen atom style does not allow for dihedrals to be defined.
    -
    Dihedrals assigned incorrectly
    -
    Dihedrals read in from the data file were not assigned correctly to -atoms. This means there is something invalid about the topology -definitions.
    -
    Dihedrals defined but no dihedral types
    -
    The data file header lists dihedrals but no dihedral types.
    -
    Dimension command after simulation box is defined
    -
    The dimension command cannot be used after a read_data, -read_restart, or create_box command.
    -
    Dispersion PPPMDisp order has been reduced below minorder
    -
    The default minimum order is 2. This can be reset by the -kspace_modify minorder command.
    -
    Displace_atoms command before simulation box is defined
    -
    The displace_atoms command cannot be used before a read_data, -read_restart, or create_box command.
    -
    Distance must be > 0 for compute event/displace
    -
    Self-explanatory.
    -
    Divide by 0 in influence function
    -
    This should not normally occur. It is likely a problem with your -model.
    -
    Divide by 0 in influence function of pair peri/lps
    -
    This should not normally occur. It is likely a problem with your -model.
    -
    Divide by 0 in variable formula
    -
    Self-explanatory.
    -
    Domain too large for neighbor bins
    -
    The domain has become extremely large so that neighbor bins cannot be -used. Most likely, one or more atoms have been blown out of the -simulation box to a great distance.
    -
    Double precision is not supported on this accelerator
    -
    Self-explanatory
    -
    Dump atom/gz only writes compressed files
    -
    The dump atom/gz output file name must have a .gz suffix.
    -
    Dump cfg arguments can not mix xs|ys|zs with xsu|ysu|zsu
    -
    Self-explanatory.
    -
    Dump cfg arguments must start with ‘mass type xs ys zs’ or ‘mass type xsu ysu zsu’
    -
    This is a requirement of the CFG output format. See the dump cfg doc -page for more details.
    -
    Dump cfg requires one snapshot per file
    -
    Use the wildcard “*” character in the filename.
    -
    Dump cfg/gz only writes compressed files
    -
    The dump cfg/gz output file name must have a .gz suffix.
    -
    Dump custom and fix not computed at compatible times
    -
    The fix must produce per-atom quantities on timesteps that dump custom -needs them.
    -
    Dump custom compute does not calculate per-atom array
    -
    Self-explanatory.
    -
    Dump custom compute does not calculate per-atom vector
    -
    Self-explanatory.
    -
    Dump custom compute does not compute per-atom info
    -
    Self-explanatory.
    -
    Dump custom compute vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Dump custom fix does not compute per-atom array
    -
    Self-explanatory.
    -
    Dump custom fix does not compute per-atom info
    -
    Self-explanatory.
    -
    Dump custom fix does not compute per-atom vector
    -
    Self-explanatory.
    -
    Dump custom fix vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Dump custom variable is not atom-style variable
    -
    Only atom-style variables generate per-atom quantities, needed for -dump output.
    -
    Dump custom/gz only writes compressed files
    -
    The dump custom/gz output file name must have a .gz suffix.
    -
    Dump dcd of non-matching # of atoms
    -
    Every snapshot written by dump dcd must contain the same # of atoms.
    -
    Dump dcd requires sorting by atom ID
    -
    Use the dump_modify sort command to enable this.
    -
    Dump every variable returned a bad timestep
    -
    The variable must return a timestep greater than the current timestep.
    -
    Dump file MPI-IO output not allowed with % in filename
    -
    This is because a % signifies one file per processor and MPI-IO -creates one large file for all processors.
    -
    Dump file does not contain requested snapshot
    -
    Self-explanatory.
    -
    Dump file is incorrectly formatted
    -
    Self-explanatory.
    -
    Dump image body yes requires atom style body
    -
    Self-explanatory.
    -
    Dump image bond not allowed with no bond types
    -
    Self-explanatory.
    -
    Dump image cannot perform sorting
    -
    Self-explanatory.
    -
    Dump image line requires atom style line
    -
    Self-explanatory.
    -
    Dump image persp option is not yet supported
    -
    Self-explanatory.
    -
    Dump image requires one snapshot per file
    -
    Use a “*” in the filename.
    -
    Dump image tri requires atom style tri
    -
    Self-explanatory.
    -
    Dump local and fix not computed at compatible times
    -
    The fix must produce per-atom quantities on timesteps that dump local -needs them.
    -
    Dump local attributes contain no compute or fix
    -
    Self-explanatory.
    -
    Dump local cannot sort by atom ID
    -
    This is because dump local does not really dump per-atom info.
    -
    Dump local compute does not calculate local array
    -
    Self-explanatory.
    -
    Dump local compute does not calculate local vector
    -
    Self-explanatory.
    -
    Dump local compute does not compute local info
    -
    Self-explanatory.
    -
    Dump local compute vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Dump local count is not consistent across input fields
    -
    Every column of output must be the same length.
    -
    Dump local fix does not compute local array
    -
    Self-explanatory.
    -
    Dump local fix does not compute local info
    -
    Self-explanatory.
    -
    Dump local fix does not compute local vector
    -
    Self-explanatory.
    -
    Dump local fix vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Dump modify bcolor not allowed with no bond types
    -
    Self-explanatory.
    -
    Dump modify bdiam not allowed with no bond types
    -
    Self-explanatory.
    -
    Dump modify compute ID does not compute per-atom array
    -
    Self-explanatory.
    -
    Dump modify compute ID does not compute per-atom info
    -
    Self-explanatory.
    -
    Dump modify compute ID does not compute per-atom vector
    -
    Self-explanatory.
    -
    Dump modify compute ID vector is not large enough
    -
    Self-explanatory.
    -
    Dump modify element names do not match atom types
    -
    Number of element names must equal number of atom types.
    -
    Dump modify fix ID does not compute per-atom array
    -
    Self-explanatory.
    -
    Dump modify fix ID does not compute per-atom info
    -
    Self-explanatory.
    -
    Dump modify fix ID does not compute per-atom vector
    -
    Self-explanatory.
    -
    Dump modify fix ID vector is not large enough
    -
    Self-explanatory.
    -
    Dump modify variable is not atom-style variable
    -
    Self-explanatory.
    -
    Dump sort column is invalid
    -
    Self-explanatory.
    -
    Dump xtc requires sorting by atom ID
    -
    Use the dump_modify sort command to enable this.
    -
    Dump xyz/gz only writes compressed files
    -
    The dump xyz/gz output file name must have a .gz suffix.
    -
    Dump_modify buffer yes not allowed for this style
    -
    Self-explanatory.
    -
    Dump_modify format string is too short
    -
    There are more fields to be dumped in a line of output than your -format string specifies.
    -
    Dump_modify region ID does not exist
    -
    Self-explanatory.
    -
    Dumping an atom property that isn’t allocated
    -
    The chosen atom style does not define the per-atom quantity being -dumped.
    -
    Duplicate atom IDs exist
    -
    Self-explanatory.
    -
    Duplicate fields in read_dump command
    -
    Self-explanatory.
    -
    Duplicate particle in PeriDynamic bond - simulation box is too small
    -
    This is likely because your box length is shorter than 2 times -the bond length.
    -
    Electronic temperature dropped below zero
    -
    Something has gone wrong with the fix ttm electron temperature model.
    -
    Element not defined in potential file
    -
    The specified element is not in the potential file.
    -
    Empty brackets in variable
    -
    There is no variable syntax that uses empty brackets. Check -the variable doc page.
    -
    Energy was not tallied on needed timestep
    -
    You are using a thermo keyword that requires potentials to -have tallied energy, but they didn’t on this timestep. See the -variable doc page for ideas on how to make this work.
    -
    Epsilon or sigma reference not set by pair style in PPPMDisp
    -
    Self-explanatory.
    -
    Epsilon or sigma reference not set by pair style in ewald/n
    -
    The pair style is not providing the needed epsilon or sigma values.
    -
    Error in vdw spline: inner radius > outer radius
    -
    A pre-tabulated spline is invalid. Likely a problem with the -potential parameters.
    -
    Error writing averaged chunk data
    -
    Something in the output to the file triggered an error.
    -
    Error writing file header
    -
    Something in the output to the file triggered an error.
    -
    Error writing out correlation data
    -
    Something in the output to the file triggered an error.
    -
    Error writing out histogram data
    -
    Something in the output to the file triggered an error.
    -
    Error writing out time averaged data
    -
    Something in the output to the file triggered an error.
    -
    Failed to allocate %ld bytes for array %s
    -
    Your LAMMPS simulation has run out of memory. You need to run a -smaller simulation or on more processors.
    -
    Failed to open FFmpeg pipeline to file %s
    -
    The specified file cannot be opened. Check that the path and name are -correct and writable and that the FFmpeg executable can be found and run.
    -
    Failed to reallocate %ld bytes for array %s
    -
    Your LAMMPS simulation has run out of memory. You need to run a -smaller simulation or on more processors.
    -
    Fewer SRD bins than processors in some dimension
    -
    This is not allowed. Make your SRD bin size smaller.
    -
    File variable could not read value
    -
    Check the file assigned to the variable.
    -
    Final box dimension due to fix deform is < 0.0
    -
    Self-explanatory.
    -
    Fix %s does not allow use of dynamic group
    -
    Dynamic groups have not yet been enabled for this fix.
    -
    Fix ID for compute chunk/atom does not exist
    -
    Self-explanatory.
    -
    Fix ID for compute erotate/rigid does not exist
    -
    Self-explanatory.
    -
    Fix ID for compute ke/rigid does not exist
    -
    Self-explanatory.
    -
    Fix ID for compute reduce does not exist
    -
    Self-explanatory.
    -
    Fix ID for compute slice does not exist
    -
    Self-explanatory.
    -
    Fix ID for fix ave/atom does not exist
    -
    Self-explanatory.
    -
    Fix ID for fix ave/chunk does not exist
    -
    Self-explanatory.
    -
    Fix ID for fix ave/correlate does not exist
    -
    Self-explanatory.
    -
    Fix ID for fix ave/histo does not exist
    -
    Self-explanatory.
    -
    Fix ID for fix ave/spatial does not exist
    -
    Self-explanatory.
    -
    Fix ID for fix ave/time does not exist
    -
    Self-explanatory.
    -
    Fix ID for fix store/state does not exist
    -
    Self-explanatory
    -
    Fix ID for fix vector does not exist
    -
    Self-explanatory.
    -
    Fix ID for read_data does not exist
    -
    Self-explanatory.
    -
    Fix ID for velocity does not exist
    -
    Self-explanatory.
    -
    Fix ID must be alphanumeric or underscore characters
    -
    Self-explanatory.
    -
    Fix SRD: bad bin assignment for SRD advection
    -
    Something has gone wrong in your SRD model; try using more -conservative settings.
    -
    Fix SRD: bad search bin assignment
    -
    Something has gone wrong in your SRD model; try using more -conservative settings.
    -
    Fix SRD: bad stencil bin for big particle
    -
    Something has gone wrong in your SRD model; try using more -conservative settings.
    -
    Fix SRD: too many big particles in bin
    -
    Reset the ATOMPERBIN parameter at the top of fix_srd.cpp -to a larger value, and re-compile the code.
    -
    Fix SRD: too many walls in bin
    -
    This should not happen unless your system has been setup incorrectly.
    -
    Fix adapt interface to this pair style not supported
    -
    New coding for the pair style would need to be done.
    -
    Fix adapt kspace style does not exist
    -
    Self-explanatory.
    -
    Fix adapt pair style does not exist
    -
    Self-explanatory
    -
    Fix adapt pair style param not supported
    -
    The pair style does not know about the parameter you specified.
    -
    Fix adapt requires atom attribute charge
    -
    The atom style being used does not specify an atom charge.
    -
    Fix adapt requires atom attribute diameter
    -
    The atom style being used does not specify an atom diameter.
    -
    Fix adapt type pair range is not valid for pair hybrid sub-style
    -
    Self-explanatory.
    -
    Fix append/atoms requires a lattice be defined
    -
    Use the lattice command for this purpose.
    -
    Fix ave/atom compute array is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix ave/atom compute does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Fix ave/atom compute does not calculate a per-atom vector
    -
    A compute used by fix ave/atom must generate per-atom values.
    -
    Fix ave/atom compute does not calculate per-atom values
    -
    A compute used by fix ave/atom must generate per-atom values.
    -
    Fix ave/atom fix array is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix ave/atom fix does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Fix ave/atom fix does not calculate a per-atom vector
    -
    A fix used by fix ave/atom must generate per-atom values.
    -
    Fix ave/atom fix does not calculate per-atom values
    -
    A fix used by fix ave/atom must generate per-atom values.
    -
    Fix ave/atom variable is not atom-style variable
    -
    A variable used by fix ave/atom must generate per-atom values.
    -
    Fix ave/chunk compute does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Fix ave/chunk compute does not calculate a per-atom vector
    -
    Self-explanatory.
    -
    Fix ave/chunk compute does not calculate per-atom values
    -
    Self-explanatory.
    -
    Fix ave/chunk compute vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix ave/chunk does not use chunk/atom compute
    -
    The specified conpute is not for a compute chunk/atom command.
    -
    Fix ave/chunk fix does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Fix ave/chunk fix does not calculate a per-atom vector
    -
    Self-explanatory.
    -
    Fix ave/chunk fix does not calculate per-atom values
    -
    Self-explanatory.
    -
    Fix ave/chunk fix vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix ave/chunk variable is not atom-style variable
    -
    Self-explanatory.
    -
    Fix ave/correlate compute does not calculate a scalar
    -
    Self-explanatory.
    -
    Fix ave/correlate compute does not calculate a vector
    -
    Self-explanatory.
    -
    Fix ave/correlate compute vector is accessed out-of-range
    -
    The index for the vector is out of bounds.
    -
    Fix ave/correlate fix does not calculate a scalar
    -
    Self-explanatory.
    -
    Fix ave/correlate fix does not calculate a vector
    -
    Self-explanatory.
    -
    Fix ave/correlate fix vector is accessed out-of-range
    -
    The index for the vector is out of bounds.
    -
    Fix ave/correlate variable is not equal-style variable
    -
    Self-explanatory.
    -
    Fix ave/histo cannot input local values in scalar mode
    -
    Self-explanatory.
    -
    Fix ave/histo cannot input per-atom values in scalar mode
    -
    Self-explanatory.
    -
    Fix ave/histo compute array is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix ave/histo compute does not calculate a global array
    -
    Self-explanatory.
    -
    Fix ave/histo compute does not calculate a global scalar
    -
    Self-explanatory.
    -
    Fix ave/histo compute does not calculate a global vector
    -
    Self-explanatory.
    -
    Fix ave/histo compute does not calculate a local array
    -
    Self-explanatory.
    -
    Fix ave/histo compute does not calculate a local vector
    -
    Self-explanatory.
    -
    Fix ave/histo compute does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Fix ave/histo compute does not calculate a per-atom vector
    -
    Self-explanatory.
    -
    Fix ave/histo compute does not calculate local values
    -
    Self-explanatory.
    -
    Fix ave/histo compute does not calculate per-atom values
    -
    Self-explanatory.
    -
    Fix ave/histo compute vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix ave/histo fix array is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix ave/histo fix does not calculate a global array
    -
    Self-explanatory.
    -
    Fix ave/histo fix does not calculate a global scalar
    -
    Self-explanatory.
    -
    Fix ave/histo fix does not calculate a global vector
    -
    Self-explanatory.
    -
    Fix ave/histo fix does not calculate a local array
    -
    Self-explanatory.
    -
    Fix ave/histo fix does not calculate a local vector
    -
    Self-explanatory.
    -
    Fix ave/histo fix does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Fix ave/histo fix does not calculate a per-atom vector
    -
    Self-explanatory.
    -
    Fix ave/histo fix does not calculate local values
    -
    Self-explanatory.
    -
    Fix ave/histo fix does not calculate per-atom values
    -
    Self-explanatory.
    -
    Fix ave/histo fix vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix ave/histo input is invalid compute
    -
    Self-explanatory.
    -
    Fix ave/histo input is invalid fix
    -
    Self-explanatory.
    -
    Fix ave/histo input is invalid variable
    -
    Self-explanatory.
    -
    Fix ave/histo inputs are not all global, peratom, or local
    -
    All inputs in a single fix ave/histo command must be of the -same style.
    -
    Fix ave/histo/weight value and weight vector lengths do not match
    -
    Self-explanatory.
    -
    Fix ave/spatial compute does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Fix ave/spatial compute does not calculate a per-atom vector
    -
    A compute used by fix ave/spatial must generate per-atom values.
    -
    Fix ave/spatial compute does not calculate per-atom values
    -
    A compute used by fix ave/spatial must generate per-atom values.
    -
    Fix ave/spatial compute vector is accessed out-of-range
    -
    The index for the vector is out of bounds.
    -
    Fix ave/spatial fix does not calculate a per-atom array
    -
    Self-explanatory.
    -
    Fix ave/spatial fix does not calculate a per-atom vector
    -
    A fix used by fix ave/spatial must generate per-atom values.
    -
    Fix ave/spatial fix does not calculate per-atom values
    -
    A fix used by fix ave/spatial must generate per-atom values.
    -
    Fix ave/spatial fix vector is accessed out-of-range
    -
    The index for the vector is out of bounds.
    -
    Fix ave/spatial for triclinic boxes requires units reduced
    -
    Self-explanatory.
    -
    Fix ave/spatial settings invalid with changing box size
    -
    If the box size changes, only the units reduced option can be -used.
    -
    Fix ave/spatial variable is not atom-style variable
    -
    A variable used by fix ave/spatial must generate per-atom values.
    -
    Fix ave/time cannot set output array intensive/extensive from these inputs
    -
    One of more of the vector inputs has individual elements which are -flagged as intensive or extensive. Such an input cannot be flagged as -all intensive/extensive when turned into an array by fix ave/time.
    -
    Fix ave/time cannot use variable with vector mode
    -
    Variables produce scalar values.
    -
    Fix ave/time columns are inconsistent lengths
    -
    Self-explanatory.
    -
    Fix ave/time compute array is accessed out-of-range
    -
    An index for the array is out of bounds.
    -
    Fix ave/time compute does not calculate a scalar
    -
    Self-explantory.
    -
    Fix ave/time compute does not calculate a vector
    -
    Self-explantory.
    -
    Fix ave/time compute does not calculate an array
    -
    Self-explanatory.
    -
    Fix ave/time compute vector is accessed out-of-range
    -
    The index for the vector is out of bounds.
    -
    Fix ave/time fix array cannot be variable length
    -
    Self-explanatory.
    -
    Fix ave/time fix array is accessed out-of-range
    -
    An index for the array is out of bounds.
    -
    Fix ave/time fix does not calculate a scalar
    -
    Self-explanatory.
    -
    Fix ave/time fix does not calculate a vector
    -
    Self-explanatory.
    -
    Fix ave/time fix does not calculate an array
    -
    Self-explanatory.
    -
    Fix ave/time fix vector cannot be variable length
    -
    Self-explanatory.
    -
    Fix ave/time fix vector is accessed out-of-range
    -
    The index for the vector is out of bounds.
    -
    Fix ave/time variable is not equal-style variable
    -
    Self-explanatory.
    -
    Fix balance rcb cannot be used with comm_style brick
    -
    Comm_style tiled must be used instead.
    -
    Fix balance shift string is invalid
    -
    The string can only contain the characters “x”, “y”, or “z”.
    -
    Fix bond/break needs ghost atoms from further away
    -
    This is because the fix needs to walk bonds to a certain distance to -acquire needed info, The comm_modify cutoff command can be used to -extend the communication range.
    -
    Fix bond/create angle type is invalid
    -
    Self-explanatory.
    -
    Fix bond/create cutoff is longer than pairwise cutoff
    -
    This is not allowed because bond creation is done using the -pairwise neighbor list.
    -
    Fix bond/create dihedral type is invalid
    -
    Self-explanatory.
    -
    Fix bond/create improper type is invalid
    -
    Self-explanatory.
    -
    Fix bond/create induced too many angles/dihedrals/impropers per atom
    -
    See the read_data command for info on setting the “extra angle per -atom”, etc header values to allow for additional angles, etc to be -formed.
    -
    Fix bond/create needs ghost atoms from further away
    -
    This is because the fix needs to walk bonds to a certain distance to -acquire needed info, The comm_modify cutoff command can be used to -extend the communication range.
    -
    Fix bond/swap cannot use dihedral or improper styles
    -
    These styles cannot be defined when using this fix.
    -
    Fix bond/swap requires pair and bond styles
    -
    Self-explanatory.
    -
    Fix bond/swap requires special_bonds = 0,1,1
    -
    Self-explanatory.
    -
    Fix box/relax generated negative box length
    -
    The pressure being applied is likely too large. Try applying -it incrementally, to build to the high pressure.
    -
    Fix command before simulation box is defined
    -
    The fix command cannot be used before a read_data, read_restart, or -create_box command.
    -
    Fix deform cannot use yz variable with xy
    -
    The yz setting cannot be a variable if xy deformation is also -specified. This is because LAMMPS cannot determine if the yz setting -will induce a box flip which would be invalid if xy is also changing.
    -
    Fix deform is changing yz too much with xy
    -
    When both yz and xy are changing, it induces changes in xz if the -box must flip from one tilt extreme to another. Thus it is not -allowed for yz to grow so much that a flip is induced.
    -
    Fix deform tilt factors require triclinic box
    -
    Cannot deform the tilt factors of a simulation box unless it -is a triclinic (non-orthogonal) box.
    -
    Fix deform volume setting is invalid
    -
    Cannot use volume style unless other dimensions are being controlled.
    -
    Fix deposit and fix rigid/small not using same molecule template ID
    -
    Self-explanatory.
    -
    Fix deposit and fix shake not using same molecule template ID
    -
    Self-explanatory.
    -
    Fix deposit molecule must have atom types
    -
    The defined molecule does not specify atom types.
    -
    Fix deposit molecule must have coordinates
    -
    The defined molecule does not specify coordinates.
    -
    Fix deposit molecule template ID must be same as atom_style template ID
    -
    When using atom_style template, you cannot deposit molecules that are -not in that template.
    -
    Fix deposit region cannot be dynamic
    -
    Only static regions can be used with fix deposit.
    -
    Fix deposit region does not support a bounding box
    -
    Not all regions represent bounded volumes. You cannot use -such a region with the fix deposit command.
    -
    Fix deposit shake fix does not exist
    -
    Self-explanatory.
    -
    Fix efield requires atom attribute q or mu
    -
    The atom style defined does not have this attribute.
    -
    Fix efield with dipoles cannot use atom-style variables
    -
    This option is not supported.
    -
    Fix evaporate molecule requires atom attribute molecule
    -
    The atom style being used does not define a molecule ID.
    -
    Fix external callback function not set
    -
    This must be done by an external program in order to use this fix.
    -
    Fix for fix ave/atom not computed at compatible time
    -
    Fixes generate their values on specific timesteps. Fix ave/atom is -requesting a value on a non-allowed timestep.
    -
    Fix for fix ave/chunk not computed at compatible time
    -
    Fixes generate their values on specific timesteps. Fix ave/chunk is -requesting a value on a non-allowed timestep.
    -
    Fix for fix ave/correlate not computed at compatible time
    -
    Fixes generate their values on specific timesteps. Fix ave/correlate -is requesting a value on a non-allowed timestep.
    -
    Fix for fix ave/histo not computed at compatible time
    -
    Fixes generate their values on specific timesteps. Fix ave/histo is -requesting a value on a non-allowed timestep.
    -
    Fix for fix ave/spatial not computed at compatible time
    -
    Fixes generate their values on specific timesteps. Fix ave/spatial is -requesting a value on a non-allowed timestep.
    -
    Fix for fix ave/time not computed at compatible time
    -
    Fixes generate their values on specific timesteps. Fix ave/time -is requesting a value on a non-allowed timestep.
    -
    Fix for fix store/state not computed at compatible time
    -
    Fixes generate their values on specific timesteps. Fix store/state -is requesting a value on a non-allowed timestep.
    -
    Fix for fix vector not computed at compatible time
    -
    Fixes generate their values on specific timesteps. Fix vector is -requesting a value on a non-allowed timestep.
    -
    Fix freeze requires atom attribute torque
    -
    The atom style defined does not have this attribute.
    -
    Fix gcmc and fix shake not using same molecule template ID
    -
    Self-explanatory.
    -
    Fix gcmc atom has charge, but atom style does not
    -
    Self-explanatory.
    -
    Fix gcmc cannot exchange individual atoms belonging to a molecule
    -
    This is an error since you should not delete only one atom of a -molecule. The user has specified atomic (non-molecular) gas -exchanges, but an atom belonging to a molecule could be deleted.
    -
    Fix gcmc does not (yet) work with atom_style template
    -
    Self-explanatory.
    -
    Fix gcmc molecule command requires that atoms have molecule attributes
    -
    Should not choose the gcmc molecule feature if no molecules are being -simulated. The general molecule flag is off, but gcmc’s molecule flag -is on.
    -
    Fix gcmc molecule has charges, but atom style does not
    -
    Self-explanatory.
    -
    Fix gcmc molecule must have atom types
    -
    The defined molecule does not specify atom types.
    -
    Fix gcmc molecule must have coordinates
    -
    The defined molecule does not specify coordinates.
    -
    Fix gcmc molecule template ID must be same as atom_style template ID
    -
    When using atom_style template, you cannot insert molecules that are -not in that template.
    -
    Fix gcmc put atom outside box
    -
    This should not normally happen. Contact the developers.
    -
    Fix gcmc ran out of available atom IDs
    -
    See the setting for tagint in the src/lmptype.h file.
    -
    Fix gcmc ran out of available molecule IDs
    -
    See the setting for tagint in the src/lmptype.h file.
    -
    Fix gcmc region cannot be dynamic
    -
    Only static regions can be used with fix gcmc.
    -
    Fix gcmc region does not support a bounding box
    -
    Not all regions represent bounded volumes. You cannot use -such a region with the fix gcmc command.
    -
    Fix gcmc region extends outside simulation box
    -
    Self-explanatory.
    -
    Fix gcmc shake fix does not exist
    -
    Self-explanatory.
    -
    Fix gld c coefficients must be >= 0
    -
    Self-explanatory.
    -
    Fix gld needs more prony series coefficients
    -
    Self-explanatory.
    -
    Fix gld prony terms must be > 0
    -
    Self-explanatory.
    -
    Fix gld series type must be pprony for now
    -
    Self-explanatory.
    -
    Fix gld start temperature must be >= 0
    -
    Self-explanatory.
    -
    Fix gld stop temperature must be >= 0
    -
    Self-explanatory.
    -
    Fix gld tau coefficients must be > 0
    -
    Self-explanatory.
    -
    Fix heat group has no atoms
    -
    Self-explanatory.
    -
    Fix heat kinetic energy of an atom went negative
    -
    This will cause the velocity rescaling about to be performed by fix -heat to be invalid.
    -
    Fix heat kinetic energy went negative
    -
    This will cause the velocity rescaling about to be performed by fix -heat to be invalid.
    -
    Fix in variable not computed at compatible time
    -
    Fixes generate their values on specific timesteps. The variable is -requesting the values on a non-allowed timestep.
    -
    Fix langevin angmom is not yet implemented with kokkos
    -
    This option is not yet available.
    -
    Fix langevin angmom requires atom style ellipsoid
    -
    Self-explanatory.
    -
    Fix langevin angmom requires extended particles
    -
    This fix option cannot be used with point paritlces.
    -
    Fix langevin omega is not yet implemented with kokkos
    -
    This option is not yet available.
    -
    Fix langevin omega requires atom style sphere
    -
    Self-explanatory.
    -
    Fix langevin omega requires extended particles
    -
    One of the particles has radius 0.0.
    -
    Fix langevin period must be > 0.0
    -
    The time window for temperature relaxation must be > 0
    -
    Fix langevin variable returned negative temperature
    -
    Self-explanatory.
    -
    Fix momentum group has no atoms
    -
    Self-explanatory.
    -
    Fix move cannot define z or vz variable for 2d problem
    -
    Self-explanatory.
    -
    Fix move cannot rotate aroung non z-axis for 2d problem
    -
    Self-explanatory.
    -
    Fix move cannot set linear z motion for 2d problem
    -
    Self-explanatory.
    -
    Fix move cannot set wiggle z motion for 2d problem
    -
    Self-explanatory.
    -
    Fix msst compute ID does not compute potential energy
    -
    Self-explanatory.
    -
    Fix msst compute ID does not compute pressure
    -
    Self-explanatory.
    -
    Fix msst compute ID does not compute temperature
    -
    Self-explanatory.
    -
    Fix msst requires a periodic box
    -
    Self-explanatory.
    -
    Fix msst tscale must satisfy 0 <= tscale < 1
    -
    Self-explanatory.
    -
    Fix npt/nph has tilted box too far in one step - periodic cell is too far from equilibrium state
    -
    Self-explanatory. The change in the box tilt is too extreme -on a short timescale.
    -
    Fix nve/asphere requires extended particles
    -
    This fix can only be used for particles with a shape setting.
    -
    Fix nve/asphere/noforce requires atom style ellipsoid
    -
    Self-explanatory.
    -
    Fix nve/asphere/noforce requires extended particles
    -
    One of the particles is not an ellipsoid.
    -
    Fix nve/body requires atom style body
    -
    Self-explanatory.
    -
    Fix nve/body requires bodies
    -
    This fix can only be used for particles that are bodies.
    -
    Fix nve/line can only be used for 2d simulations
    -
    Self-explanatory.
    -
    Fix nve/line requires atom style line
    -
    Self-explanatory.
    -
    Fix nve/line requires line particles
    -
    Self-explanatory.
    -
    Fix nve/sphere dipole requires atom attribute mu
    -
    An atom style with this attribute is needed.
    -
    Fix nve/sphere requires atom style sphere
    -
    Self-explanatory.
    -
    Fix nve/sphere requires extended particles
    -
    This fix can only be used for particles of a finite size.
    -
    Fix nve/tri can only be used for 3d simulations
    -
    Self-explanatory.
    -
    Fix nve/tri requires atom style tri
    -
    Self-explanatory.
    -
    Fix nve/tri requires tri particles
    -
    Self-explanatory.
    -
    Fix nvt/nph/npt asphere requires extended particles
    -
    The shape setting for a particle in the fix group has shape = 0.0, -which means it is a point particle.
    -
    Fix nvt/nph/npt body requires bodies
    -
    Self-explanatory.
    -
    Fix nvt/nph/npt sphere requires atom style sphere
    -
    Self-explanatory.
    -
    Fix nvt/npt/nph damping parameters must be > 0.0
    -
    Self-explanatory.
    -
    Fix nvt/npt/nph dilate group ID does not exist
    -
    Self-explanatory.
    -
    Fix nvt/sphere requires extended particles
    -
    This fix can only be used for particles of a finite size.
    -
    Fix orient/fcc file open failed
    -
    The fix orient/fcc command could not open a specified file.
    -
    Fix orient/fcc file read failed
    -
    The fix orient/fcc command could not read the needed parameters from a -specified file.
    -
    Fix orient/fcc found self twice
    -
    The neighbor lists used by fix orient/fcc are messed up. If this -error occurs, it is likely a bug, so send an email to the -developers.
    -
    Fix peri neigh does not exist
    -
    Somehow a fix that the pair style defines has been deleted.
    -
    Fix pour and fix rigid/small not using same molecule template ID
    -
    Self-explanatory.
    -
    Fix pour and fix shake not using same molecule template ID
    -
    Self-explanatory.
    -
    Fix pour insertion count per timestep is 0
    -
    Self-explanatory.
    -
    Fix pour molecule must have atom types
    -
    The defined molecule does not specify atom types.
    -
    Fix pour molecule must have coordinates
    -
    The defined molecule does not specify coordinates.
    -
    Fix pour molecule template ID must be same as atom style template ID
    -
    When using atom_style template, you cannot pour molecules that are -not in that template.
    -
    Fix pour polydisperse fractions do not sum to 1.0
    -
    Self-explanatory.
    -
    Fix pour region ID does not exist
    -
    Self-explanatory.
    -
    Fix pour region cannot be dynamic
    -
    Only static regions can be used with fix pour.
    -
    Fix pour region does not support a bounding box
    -
    Not all regions represent bounded volumes. You cannot use -such a region with the fix pour command.
    -
    Fix pour requires atom attributes radius, rmass
    -
    The atom style defined does not have these attributes.
    -
    Fix pour rigid fix does not exist
    -
    Self-explanatory.
    -
    Fix pour shake fix does not exist
    -
    Self-explanatory.
    -
    Fix press/berendsen damping parameters must be > 0.0
    -
    Self-explanatory.
    -
    Fix property/atom cannot specify mol twice
    -
    Self-explanatory.
    -
    Fix property/atom cannot specify q twice
    -
    Self-explanatory.
    -
    Fix property/atom mol when atom_style already has molecule attribute
    -
    Self-explanatory.
    -
    Fix property/atom q when atom_style already has charge attribute
    -
    Self-explanatory.
    -
    Fix property/atom vector name already exists
    -
    The name for an integer or floating-point vector must be unique.
    -
    Fix qeq has negative upper Taper radius cutoff
    -
    Self-explanatory.
    -
    Fix qeq/comb group has no atoms
    -
    Self-explanatory.
    -
    Fix qeq/comb requires atom attribute q
    -
    An atom style with charge must be used to perform charge equilibration.
    -
    Fix qeq/dynamic group has no atoms
    -
    Self-explanatory.
    -
    Fix qeq/dynamic requires atom attribute q
    -
    Self-explanatory.
    -
    Fix qeq/fire group has no atoms
    -
    Self-explanatory.
    -
    Fix qeq/fire requires atom attribute q
    -
    Self-explanatory.
    -
    Fix qeq/point group has no atoms
    -
    Self-explanatory.
    -
    Fix qeq/point has insufficient QEq matrix size
    -
    Occurs when number of neighbor atoms for an atom increased too much -during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile.
    -
    Fix qeq/point requires atom attribute q
    -
    Self-explanatory.
    -
    Fix qeq/shielded group has no atoms
    -
    Self-explanatory.
    -
    Fix qeq/shielded has insufficient QEq matrix size
    -
    Occurs when number of neighbor atoms for an atom increased too much -during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile.
    -
    Fix qeq/shielded requires atom attribute q
    -
    Self-explanatory.
    -
    Fix qeq/slater could not extract params from pair coul/streitz
    -
    This should not happen unless pair coul/streitz has been altered.
    -
    Fix qeq/slater group has no atoms
    -
    Self-explanatory.
    -
    Fix qeq/slater has insufficient QEq matrix size
    -
    Occurs when number of neighbor atoms for an atom increased too much -during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile.
    -
    Fix qeq/slater requires atom attribute q
    -
    Self-explanatory.
    -
    Fix reax/bonds numbonds > nsbmax_most
    -
    The limit of the number of bonds expected by the ReaxFF force field -was exceeded.
    -
    Fix recenter group has no atoms
    -
    Self-explanatory.
    -
    Fix restrain requires an atom map, see atom_modify
    -
    Self-explanatory.
    -
    Fix rigid atom has non-zero image flag in a non-periodic dimension
    -
    Image flags for non-periodic dimensions should not be set.
    -
    Fix rigid file has no lines
    -
    Self-explanatory.
    -
    Fix rigid langevin period must be > 0.0
    -
    Self-explanatory.
    -
    Fix rigid molecule requires atom attribute molecule
    -
    Self-explanatory.
    -
    Fix rigid npt/nph dilate group ID does not exist
    -
    Self-explanatory.
    -
    Fix rigid npt/nph does not yet allow triclinic box
    -
    This is a current restriction in LAMMPS.
    -
    Fix rigid npt/nph period must be > 0.0
    -
    Self-explanatory.
    -
    Fix rigid npt/small t_chain should not be less than 1
    -
    Self-explanatory.
    -
    Fix rigid npt/small t_order must be 3 or 5
    -
    Self-explanatory.
    -
    Fix rigid nvt/npt/nph damping parameters must be > 0.0
    -
    Self-explanatory.
    -
    Fix rigid nvt/small t_chain should not be less than 1
    -
    Self-explanatory.
    -
    Fix rigid nvt/small t_iter should not be less than 1
    -
    Self-explanatory.
    -
    Fix rigid nvt/small t_order must be 3 or 5
    -
    Self-explanatory.
    -
    Fix rigid xy torque cannot be on for 2d simulation
    -
    Self-explanatory.
    -
    Fix rigid z force cannot be on for 2d simulation
    -
    Self-explanatory.
    -
    Fix rigid/npt period must be > 0.0
    -
    Self-explanatory.
    -
    Fix rigid/npt temperature order must be 3 or 5
    -
    Self-explanatory.
    -
    Fix rigid/npt/small period must be > 0.0
    -
    Self-explanatory.
    -
    Fix rigid/nvt period must be > 0.0
    -
    Self-explanatory.
    -
    Fix rigid/nvt temperature order must be 3 or 5
    -
    Self-explanatory.
    -
    Fix rigid/nvt/small period must be > 0.0
    -
    Self-explanatory.
    -
    Fix rigid/small atom has non-zero image flag in a non-periodic dimension
    -
    Image flags for non-periodic dimensions should not be set.
    -
    Fix rigid/small langevin period must be > 0.0
    -
    Self-explanatory.
    -
    Fix rigid/small molecule must have atom types
    -
    The defined molecule does not specify atom types.
    -
    Fix rigid/small molecule must have coordinates
    -
    The defined molecule does not specify coordinates.
    -
    Fix rigid/small npt/nph period must be > 0.0
    -
    Self-explanatory.
    -
    Fix rigid/small nvt/npt/nph damping parameters must be > 0.0
    -
    Self-explanatory.
    -
    Fix rigid/small nvt/npt/nph dilate group ID does not exist
    -
    Self-explanatory.
    -
    Fix rigid/small requires an atom map, see atom_modify
    -
    Self-explanatory.
    -
    Fix rigid/small requires atom attribute molecule
    -
    Self-explanatory.
    -
    Fix rigid: Bad principal moments
    -
    The principal moments of inertia computed for a rigid body -are not within the required tolerances.
    -
    Fix shake cannot be used with minimization
    -
    Cannot use fix shake while doing an energy minimization since -it turns off bonds that should contribute to the energy.
    -
    Fix shake molecule template must have shake info
    -
    The defined molecule does not specify SHAKE information.
    -
    Fix spring couple group ID does not exist
    -
    Self-explanatory.
    -
    Fix srd can only currently be used with comm_style brick
    -
    This is a current restriction in LAMMPS.
    -
    Fix srd lamda must be >= 0.6 of SRD grid size
    -
    This is a requirement for accuracy reasons.
    -
    Fix srd no-slip requires atom attribute torque
    -
    This is because the SRD collisions will impart torque to the solute -particles.
    -
    Fix srd requires SRD particles all have same mass
    -
    Self-explanatory.
    -
    Fix srd requires ghost atoms store velocity
    -
    Use the comm_modify vel yes command to enable this.
    -
    Fix srd requires newton pair on
    -
    Self-explanatory.
    -
    Fix store/state compute array is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix store/state compute does not calculate a per-atom array
    -
    The compute calculates a per-atom vector.
    -
    Fix store/state compute does not calculate a per-atom vector
    -
    The compute calculates a per-atom vector.
    -
    Fix store/state compute does not calculate per-atom values
    -
    Computes that calculate global or local quantities cannot be used -with fix store/state.
    -
    Fix store/state fix array is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix store/state fix does not calculate a per-atom array
    -
    The fix calculates a per-atom vector.
    -
    Fix store/state fix does not calculate a per-atom vector
    -
    The fix calculates a per-atom array.
    -
    Fix store/state fix does not calculate per-atom values
    -
    Fixes that calculate global or local quantities cannot be used with -fix store/state.
    -
    Fix store/state for atom property that isn’t allocated
    -
    Self-explanatory.
    -
    Fix store/state variable is not atom-style variable
    -
    Only atom-style variables calculate per-atom quantities.
    -
    Fix temp/berendsen period must be > 0.0
    -
    Self-explanatory.
    -
    Fix temp/berendsen variable returned negative temperature
    -
    Self-explanatory.
    -
    Fix temp/csld is not compatible with fix rattle or fix shake
    -
    These two commands cannot currently be used together with fix temp/csld.
    -
    Fix temp/csld variable returned negative temperature
    -
    Self-explanatory.
    -
    Fix temp/csvr variable returned negative temperature
    -
    Self-explanatory.
    -
    Fix temp/rescale variable returned negative temperature
    -
    Self-explanatory.
    -
    Fix tfmc displacement length must be > 0
    -
    Self-explanatory.
    -
    Fix tfmc is not compatible with fix shake
    -
    These two commands cannot currently be used together.
    -
    Fix tfmc temperature must be > 0
    -
    Self-explanatory.
    -
    Fix thermal/conductivity swap value must be positive
    -
    Self-explanatory.
    -
    Fix tmd must come after integration fixes
    -
    Any fix tmd command must appear in the input script after all time -integration fixes (nve, nvt, npt). See the fix tmd documentation for -details.
    -
    Fix ttm electron temperatures must be > 0.0
    -
    Self-explanatory.
    -
    Fix ttm electronic_density must be > 0.0
    -
    Self-explanatory.
    -
    Fix ttm electronic_specific_heat must be > 0.0
    -
    Self-explanatory.
    -
    Fix ttm electronic_thermal_conductivity must be >= 0.0
    -
    Self-explanatory.
    -
    Fix ttm gamma_p must be > 0.0
    -
    Self-explanatory.
    -
    Fix ttm gamma_s must be >= 0.0
    -
    Self-explanatory.
    -
    Fix ttm number of nodes must be > 0
    -
    Self-explanatory.
    -
    Fix ttm v_0 must be >= 0.0
    -
    Self-explanatory.
    -
    Fix used in compute chunk/atom not computed at compatible time
    -
    The chunk/atom compute cannot query the output of the fix on a timestep -it is needed.
    -
    Fix used in compute reduce not computed at compatible time
    -
    Fixes generate their values on specific timesteps. Compute reduce is -requesting a value on a non-allowed timestep.
    -
    Fix used in compute slice not computed at compatible time
    -
    Fixes generate their values on specific timesteps. Compute slice is -requesting a value on a non-allowed timestep.
    -
    Fix vector cannot set output array intensive/extensive from these inputs
    -
    The inputs to the command have conflicting intensive/extensive attributes. -You need to use more than one fix vector command.
    -
    Fix vector compute does not calculate a scalar
    -
    Self-explanatory.
    -
    Fix vector compute does not calculate a vector
    -
    Self-explanatory.
    -
    Fix vector compute vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix vector fix does not calculate a scalar
    -
    Self-explanatory.
    -
    Fix vector fix does not calculate a vector
    -
    Self-explanatory.
    -
    Fix vector fix vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Fix vector variable is not equal-style variable
    -
    Self-explanatory.
    -
    Fix viscosity swap value must be positive
    -
    Self-explanatory.
    -
    Fix viscosity vtarget value must be positive
    -
    Self-explanatory.
    -
    Fix wall cutoff <= 0.0
    -
    Self-explanatory.
    -
    Fix wall/colloid requires atom style sphere
    -
    Self-explanatory.
    -
    Fix wall/colloid requires extended particles
    -
    One of the particles has radius 0.0.
    -
    Fix wall/gran is incompatible with Pair style
    -
    Must use a granular pair style to define the parameters needed for -this fix.
    -
    Fix wall/gran requires atom style sphere
    -
    Self-explanatory.
    -
    Fix wall/piston command only available at zlo
    -
    The face keyword must be zlo.
    -
    Fix wall/region colloid requires atom style sphere
    -
    Self-explanatory.
    -
    Fix wall/region colloid requires extended particles
    -
    One of the particles has radius 0.0.
    -
    Fix wall/region cutoff <= 0.0
    -
    Self-explanatory.
    -
    Fix_modify pressure ID does not compute pressure
    -
    The compute ID assigned to the fix must compute pressure.
    -
    Fix_modify temperature ID does not compute temperature
    -
    The compute ID assigned to the fix must compute temperature.
    -
    For triclinic deformation, specified target stress must be hydrostatic
    -
    Triclinic pressure control is allowed using the tri keyword, but -non-hydrostatic pressure control can not be used in this case.
    -
    Found no restart file matching pattern
    -
    When using a “*” in the restart file name, no matching file was found.
    -
    GPU library not compiled for this accelerator
    -
    Self-explanatory.
    -
    GPU package does not (yet) work with atom_style template
    -
    Self-explanatory.
    -
    GPU particle split must be set to 1 for this pair style.
    -
    For this pair style, you cannot run part of the force calculation on -the host. See the package command.
    -
    GPU split param must be positive for hybrid pair styles
    -
    See the package gpu command.
    -
    GPUs are requested but Kokkos has not been compiled for CUDA
    -
    Recompile Kokkos with CUDA support to use GPUs.
    -
    Ghost velocity forward comm not yet implemented with Kokkos
    -
    This is a current restriction.
    -
    Gmask function in equal-style variable formula
    -
    Gmask is per-atom operation.
    -
    Gravity changed since fix pour was created
    -
    The gravity vector defined by fix gravity must be static.
    -
    Gravity must point in -y to use with fix pour in 2d
    -
    Self-explanatory.
    -
    Gravity must point in -z to use with fix pour in 3d
    -
    Self-explanatory.
    -
    Grmask function in equal-style variable formula
    -
    Grmask is per-atom operation.
    -
    Group ID does not exist
    -
    A group ID used in the group command does not exist.
    -
    Group ID in variable formula does not exist
    -
    Self-explanatory.
    -
    Group all cannot be made dynamic
    -
    This operation is not allowed.
    -
    Group command before simulation box is defined
    -
    The group command cannot be used before a read_data, read_restart, or -create_box command.
    -
    Group dynamic cannot reference itself
    -
    Self-explanatory.
    -
    Group dynamic parent group cannot be dynamic
    -
    Self-explanatory.
    -
    Group dynamic parent group does not exist
    -
    Self-explanatory.
    -
    Group region ID does not exist
    -
    A region ID used in the group command does not exist.
    -
    If read_dump purges it cannot replace or trim
    -
    These operations are not compatible. See the read_dump doc -page for details.
    -
    Illegal ... command
    -
    Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line.
    -
    Illegal COMB parameter
    -
    One or more of the coefficients defined in the potential file is -invalid.
    -
    Illegal COMB3 parameter
    -
    One or more of the coefficients defined in the potential file is -invalid.
    -
    Illegal Stillinger-Weber parameter
    -
    One or more of the coefficients defined in the potential file is -invalid.
    -
    Illegal Tersoff parameter
    -
    One or more of the coefficients defined in the potential file is -invalid.
    -
    Illegal Vashishta parameter
    -
    One or more of the coefficients defined in the potential file is -invalid.
    -
    Illegal compute voronoi/atom command (occupation and (surface or edges))
    -
    Self-explanatory.
    -
    Illegal coul/streitz parameter
    -
    One or more of the coefficients defined in the potential file is -invalid.
    -
    Illegal dump_modify sfactor value (must be > 0.0)
    -
    Self-explanatory.
    -
    Illegal dump_modify tfactor value (must be > 0.0)
    -
    Self-explanatory.
    -
    Illegal fix gcmc gas mass <= 0
    -
    The computed mass of the designated gas molecule or atom type was less -than or equal to zero.
    -
    Illegal fix tfmc random seed
    -
    Seeds can only be nonzero positive integers.
    -
    Illegal fix wall/piston velocity
    -
    The piston velocity must be positive.
    -
    Illegal integrate style
    -
    Self-explanatory.
    -
    Illegal nb3b/harmonic parameter
    -
    One or more of the coefficients defined in the potential file is -invalid.
    -
    Illegal number of angle table entries
    -
    There must be at least 2 table entries.
    -
    Illegal number of bond table entries
    -
    There must be at least 2 table entries.
    -
    Illegal number of pair table entries
    -
    There must be at least 2 table entries.
    -
    Illegal or unset periodicity in restart
    -
    This error should not normally occur unless the restart file is invalid.
    -
    Illegal range increment value
    -
    The increment must be >= 1.
    -
    Illegal simulation box
    -
    The lower bound of the simulation box is greater than the upper bound.
    -
    Illegal size double vector read requested
    -
    This error should not normally occur unless the restart file is invalid.
    -
    Illegal size integer vector read requested
    -
    This error should not normally occur unless the restart file is invalid.
    -
    Illegal size string or corrupt restart
    -
    This error should not normally occur unless the restart file is invalid.
    -
    Imageint setting in lmptype.h is invalid
    -
    Imageint must be as large or larger than smallint.
    -
    Imageint setting in lmptype.h is not compatible
    -
    Format of imageint stored in restart file is not consistent with -LAMMPS version you are running. See the settings in src/lmptype.h
    -
    Improper atom missing in delete_bonds
    -
    The delete_bonds command cannot find one or more atoms in a particular -improper on a particular processor. The pairwise cutoff is too short -or the atoms are too far apart to make a valid improper.
    -
    Improper atom missing in set command
    -
    The set command cannot find one or more atoms in a particular improper -on a particular processor. The pairwise cutoff is too short or the -atoms are too far apart to make a valid improper.
    -
    Improper atoms %d %d %d %d missing on proc %d at step %ld
    -
    One or more of 4 atoms needed to compute a particular improper are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the improper has blown apart and an atom is -too far away.
    -
    Improper atoms missing on proc %d at step %ld
    -
    One or more of 4 atoms needed to compute a particular improper are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the improper has blown apart and an atom is -too far away.
    -
    Improper coeff for hybrid has invalid style
    -
    Improper style hybrid uses another improper style as one of its -coefficients. The improper style used in the improper_coeff command -or read from a restart file is not recognized.
    -
    Improper coeffs are not set
    -
    No improper coefficients have been assigned in the data file or via -the improper_coeff command.
    -
    Improper style hybrid cannot have hybrid as an argument
    -
    Self-explanatory.
    -
    Improper style hybrid cannot have none as an argument
    -
    Self-explanatory.
    -
    Improper style hybrid cannot use same improper style twice
    -
    Self-explanatory.
    -
    Improper_coeff command before improper_style is defined
    -
    Coefficients cannot be set in the data file or via the improper_coeff -command until an improper_style has been assigned.
    -
    Improper_coeff command before simulation box is defined
    -
    The improper_coeff command cannot be used before a read_data, -read_restart, or create_box command.
    -
    Improper_coeff command when no impropers allowed
    -
    The chosen atom style does not allow for impropers to be defined.
    -
    Improper_style command when no impropers allowed
    -
    The chosen atom style does not allow for impropers to be defined.
    -
    Impropers assigned incorrectly
    -
    Impropers read in from the data file were not assigned correctly to -atoms. This means there is something invalid about the topology -definitions.
    -
    Impropers defined but no improper types
    -
    The data file header lists improper but no improper types.
    -
    Incomplete use of variables in create_atoms command
    -
    The var and set options must be used together.
    -
    Inconsistent iparam/jparam values in fix bond/create command
    -
    If itype and jtype are the same, then their maxbond and newtype -settings must also be the same.
    -
    Inconsistent line segment in data file
    -
    The end points of the line segment are not equal distances from the -center point which is the atom coordinate.
    -
    Inconsistent triangle in data file
    -
    The centroid of the triangle as defined by the corner points is not -the atom coordinate.
    -
    Inconsistent use of finite-size particles by molecule template molecules
    -
    Not all of the molecules define a radius for their constituent -particles.
    -
    Incorrect # of floating-point values in Bodies section of data file
    -
    See doc page for body style.
    -
    Incorrect # of integer values in Bodies section of data file
    -
    See doc page for body style.
    -
    Incorrect %s format in data file
    -
    A section of the data file being read by fix property/atom does -not have the correct number of values per line.
    -
    Incorrect SNAP parameter file
    -
    The file cannot be parsed correctly, check its internal syntax.
    -
    Incorrect args for angle coefficients
    -
    Self-explanatory. Check the input script or data file.
    -
    Incorrect args for bond coefficients
    -
    Self-explanatory. Check the input script or data file.
    -
    Incorrect args for dihedral coefficients
    -
    Self-explanatory. Check the input script or data file.
    -
    Incorrect args for improper coefficients
    -
    Self-explanatory. Check the input script or data file.
    -
    Incorrect args for pair coefficients
    -
    Self-explanatory. Check the input script or data file.
    -
    Incorrect args in pair_style command
    -
    Self-explanatory.
    -
    Incorrect atom format in data file
    -
    Number of values per atom line in the data file is not consistent with -the atom style.
    -
    Incorrect atom format in neb file
    -
    The number of fields per line is not what expected.
    -
    Incorrect bonus data format in data file
    -
    See the read_data doc page for a description of how various kinds of -bonus data must be formatted for certain atom styles.
    -
    Incorrect boundaries with slab Ewald
    -
    Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with Ewald.
    -
    Incorrect boundaries with slab EwaldDisp
    -
    Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with Ewald.
    -
    Incorrect boundaries with slab PPPM
    -
    Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with PPPM.
    -
    Incorrect boundaries with slab PPPMDisp
    -
    Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with pppm/disp.
    -
    Incorrect element names in ADP potential file
    -
    The element names in the ADP file do not match those requested.
    -
    Incorrect element names in EAM potential file
    -
    The element names in the EAM file do not match those requested.
    -
    Incorrect format in COMB potential file
    -
    Incorrect number of words per line in the potential file.
    -
    Incorrect format in COMB3 potential file
    -
    Incorrect number of words per line in the potential file.
    -
    Incorrect format in MEAM potential file
    -
    Incorrect number of words per line in the potential file.
    -
    Incorrect format in SNAP coefficient file
    -
    Incorrect number of words per line in the coefficient file.
    -
    Incorrect format in SNAP parameter file
    -
    Incorrect number of words per line in the parameter file.
    -
    Incorrect format in Stillinger-Weber potential file
    -
    Incorrect number of words per line in the potential file.
    -
    Incorrect format in TMD target file
    -
    Format of file read by fix tmd command is incorrect.
    -
    Incorrect format in Tersoff potential file
    -
    Incorrect number of words per line in the potential file.
    -
    Incorrect format in Vashishta potential file
    -
    Incorrect number of words per line in the potential file.
    -
    Incorrect format in coul/streitz potential file
    -
    Incorrect number of words per line in the potential file.
    -
    Incorrect format in nb3b/harmonic potential file
    -
    Incorrect number of words per line in the potential file.
    -
    Incorrect integer value in Bodies section of data file
    -
    See doc page for body style.
    -
    Incorrect multiplicity arg for dihedral coefficients
    -
    Self-explanatory. Check the input script or data file.
    -
    Incorrect number of elements in potential file
    -
    Self-explanatory.
    -
    Incorrect rigid body format in fix rigid file
    -
    The number of fields per line is not what expected.
    -
    Incorrect rigid body format in fix rigid/small file
    -
    The number of fields per line is not what expected.
    -
    Incorrect sign arg for dihedral coefficients
    -
    Self-explanatory. Check the input script or data file.
    -
    Incorrect table format check for element types
    -
    Self-explanatory.
    -
    Incorrect velocity format in data file
    -
    Each atom style defines a format for the Velocity section -of the data file. The read-in lines do not match.
    -
    Incorrect weight arg for dihedral coefficients
    -
    Self-explanatory. Check the input script or data file.
    -
    Index between variable brackets must be positive
    -
    Self-explanatory.
    -
    Indexed per-atom vector in variable formula without atom map
    -
    Accessing a value from an atom vector requires the ability to lookup -an atom index, which is provided by an atom map. An atom map does not -exist (by default) for non-molecular problems. Using the atom_modify -map command will force an atom map to be created.
    -
    Initial temperatures not all set in fix ttm
    -
    Self-explantory.
    -
    Input line quote not followed by whitespace
    -
    An end quote must be followed by whitespace.
    -
    Insertion region extends outside simulation box
    -
    Self-explanatory.
    -
    Insufficient Jacobi rotations for POEMS body
    -
    Eigensolve for rigid body was not sufficiently accurate.
    -
    Insufficient Jacobi rotations for body nparticle
    -
    Eigensolve for rigid body was not sufficiently accurate.
    -
    Insufficient Jacobi rotations for rigid body
    -
    Eigensolve for rigid body was not sufficiently accurate.
    -
    Insufficient Jacobi rotations for rigid molecule
    -
    Eigensolve for rigid body was not sufficiently accurate.
    -
    Insufficient Jacobi rotations for triangle
    -
    The calculation of the intertia tensor of the triangle failed. This -should not happen if it is a reasonably shaped triangle.
    -
    Insufficient memory on accelerator
    -
    There is insufficient memory on one of the devices specified for the gpu -package
    -
    Internal error in atom_style body
    -
    This error should not occur. Contact the developers.
    -
    Invalid -reorder N value
    -
    Self-explanatory.
    -
    Invalid Angles section in molecule file
    -
    Self-explanatory.
    -
    Invalid Bonds section in molecule file
    -
    Self-explanatory.
    -
    Invalid Boolean syntax in if command
    -
    Self-explanatory.
    -
    Invalid Charges section in molecule file
    -
    Self-explanatory.
    -
    Invalid Coords section in molecule file
    -
    Self-explanatory.
    -
    Invalid Diameters section in molecule file
    -
    Self-explanatory.
    -
    Invalid Dihedrals section in molecule file
    -
    Self-explanatory.
    -
    Invalid Impropers section in molecule file
    -
    Self-explanatory.
    -
    Invalid Kokkos command-line args
    -
    Self-explanatory. See Section 2.7 of the manual for details.
    -
    Invalid LAMMPS restart file
    -
    The file does not appear to be a LAMMPS restart file since -it doesn’t contain the correct magic string at the beginning.
    -
    Invalid Masses section in molecule file
    -
    Self-explanatory.
    -
    Invalid REAX atom type
    -
    There is a mis-match between LAMMPS atom types and the elements -listed in the ReaxFF force field file.
    -
    Invalid Special Bond Counts section in molecule file
    -
    Self-explanatory.
    -
    Invalid Types section in molecule file
    -
    Self-explanatory.
    -
    Invalid angle count in molecule file
    -
    Self-explanatory.
    -
    Invalid angle table length
    -
    Length must be 2 or greater.
    -
    Invalid angle type in Angles section of data file
    -
    Angle type must be positive integer and within range of specified angle -types.
    -
    Invalid angle type in Angles section of molecule file
    -
    Self-explanatory.
    -
    Invalid angle type index for fix shake
    -
    Self-explanatory.
    -
    Invalid args for non-hybrid pair coefficients
    -
    “NULL” is only supported in pair_coeff calls when using pair hybrid
    -
    Invalid argument to factorial %d
    -
    N must be >= 0 and <= 167, otherwise the factorial result is too -large.
    -
    Invalid atom ID in %s section of data file
    -
    An atom in a section of the data file being read by fix property/atom -has an invalid atom ID that is <= 0 or > the maximum existing atom ID.
    -
    Invalid atom ID in Angles section of data file
    -
    Atom IDs must be positive integers and within range of defined -atoms.
    -
    Invalid atom ID in Angles section of molecule file
    -
    Self-explanatory.
    -
    Invalid atom ID in Atoms section of data file
    -
    Atom IDs must be positive integers.
    -
    Invalid atom ID in Bodies section of data file
    -
    Atom IDs must be positive integers and within range of defined -atoms.
    -
    Invalid atom ID in Bonds section of data file
    -
    Atom IDs must be positive integers and within range of defined -atoms.
    -
    Invalid atom ID in Bonds section of molecule file
    -
    Self-explanatory.
    -
    Invalid atom ID in Bonus section of data file
    -
    Atom IDs must be positive integers and within range of defined -atoms.
    -
    Invalid atom ID in Dihedrals section of data file
    -
    Atom IDs must be positive integers and within range of defined -atoms.
    -
    Invalid atom ID in Impropers section of data file
    -
    Atom IDs must be positive integers and within range of defined -atoms.
    -
    Invalid atom ID in Velocities section of data file
    -
    Atom IDs must be positive integers and within range of defined -atoms.
    -
    Invalid atom ID in dihedrals section of molecule file
    -
    Self-explanatory.
    -
    Invalid atom ID in impropers section of molecule file
    -
    Self-explanatory.
    -
    Invalid atom ID in variable file
    -
    Self-explanatory.
    -
    Invalid atom IDs in neb file
    -
    An ID in the file was not found in the system.
    -
    Invalid atom diameter in molecule file
    -
    Diameters must be >= 0.0.
    -
    Invalid atom mass for fix shake
    -
    Mass specified in fix shake command must be > 0.0.
    -
    Invalid atom mass in molecule file
    -
    Masses must be > 0.0.
    -
    Invalid atom type in Atoms section of data file
    -
    Atom types must range from 1 to specified # of types.
    -
    Invalid atom type in create_atoms command
    -
    The create_box command specified the range of valid atom types. -An invalid type is being requested.
    -
    Invalid atom type in create_atoms mol command
    -
    The atom types in the defined molecule are added to the value -specified in the create_atoms command, as an offset. The final value -for each atom must be between 1 to N, where N is the number of atom -types.
    -
    Invalid atom type in fix atom/swap command
    -
    The atom type specified in the atom/swap command does not exist.
    -
    Invalid atom type in fix bond/create command
    -
    Self-explanatory.
    -
    Invalid atom type in fix deposit command
    -
    Self-explanatory.
    -
    Invalid atom type in fix deposit mol command
    -
    The atom types in the defined molecule are added to the value -specified in the create_atoms command, as an offset. The final value -for each atom must be between 1 to N, where N is the number of atom -types.
    -
    Invalid atom type in fix gcmc command
    -
    The atom type specified in the gcmc command does not exist.
    -
    Invalid atom type in fix pour command
    -
    Self-explanatory.
    -
    Invalid atom type in fix pour mol command
    -
    The atom types in the defined molecule are added to the value -specified in the create_atoms command, as an offset. The final value -for each atom must be between 1 to N, where N is the number of atom -types.
    -
    Invalid atom type in molecule file
    -
    Atom types must range from 1 to specified # of types.
    -
    Invalid atom type in neighbor exclusion list
    -
    Atom types must range from 1 to Ntypes inclusive.
    -
    Invalid atom type index for fix shake
    -
    Atom types must range from 1 to Ntypes inclusive.
    -
    Invalid atom types in pair_write command
    -
    Atom types must range from 1 to Ntypes inclusive.
    -
    Invalid atom vector in variable formula
    -
    The atom vector is not recognized.
    -
    Invalid atom_style body command
    -
    No body style argument was provided.
    -
    Invalid atom_style command
    -
    Self-explanatory.
    -
    Invalid attribute in dump custom command
    -
    Self-explantory.
    -
    Invalid attribute in dump local command
    -
    Self-explantory.
    -
    Invalid attribute in dump modify command
    -
    Self-explantory.
    -
    Invalid basis setting in create_atoms command
    -
    The basis index must be between 1 to N where N is the number of basis -atoms in the lattice. The type index must be between 1 to N where N -is the number of atom types.
    -
    Invalid basis setting in fix append/atoms command
    -
    The basis index must be between 1 to N where N is the number of basis -atoms in the lattice. The type index must be between 1 to N where N -is the number of atom types.
    -
    Invalid bin bounds in compute chunk/atom
    -
    The lo/hi values are inconsistent.
    -
    Invalid bin bounds in fix ave/spatial
    -
    The lo/hi values are inconsistent.
    -
    Invalid body nparticle command
    -
    Arguments in atom-style command are not correct.
    -
    Invalid bond count in molecule file
    -
    Self-explanatory.
    -
    Invalid bond table length
    -
    Length must be 2 or greater.
    -
    Invalid bond type in Bonds section of data file
    -
    Bond type must be positive integer and within range of specified bond -types.
    -
    Invalid bond type in Bonds section of molecule file
    -
    Self-explanatory.
    -
    Invalid bond type in create_bonds command
    -
    Self-explanatory.
    -
    Invalid bond type in fix bond/break command
    -
    Self-explanatory.
    -
    Invalid bond type in fix bond/create command
    -
    Self-explanatory.
    -
    Invalid bond type index for fix shake
    -
    Self-explanatory. Check the fix shake command in the input script.
    -
    Invalid coeffs for this dihedral style
    -
    Cannot set class 2 coeffs in data file for this dihedral style.
    -
    Invalid color in dump_modify command
    -
    The specified color name was not in the list of recognized colors. -See the dump_modify doc page.
    -
    Invalid color map min/max values
    -
    The min/max values are not consistent with either each other or -with values in the color map.
    -
    Invalid command-line argument
    -
    One or more command-line arguments is invalid. Check the syntax of -the command you are using to launch LAMMPS.
    -
    Invalid compute ID in variable formula
    -
    The compute is not recognized.
    -
    Invalid create_atoms rotation vector for 2d model
    -
    The rotation vector can only have a z component.
    -
    Invalid custom OpenCL parameter string.
    -
    There are not enough or too many parameters in the custom string for package -GPU.
    -
    Invalid cutoff in comm_modify command
    -
    Specified cutoff must be >= 0.0.
    -
    Invalid cutoffs in pair_write command
    -
    Inner cutoff must be larger than 0.0 and less than outer cutoff.
    -
    Invalid d1 or d2 value for pair colloid coeff
    -
    Neither d1 or d2 can be < 0.
    -
    Invalid data file section: Angle Coeffs
    -
    Atom style does not allow angles.
    -
    Invalid data file section: AngleAngle Coeffs
    -
    Atom style does not allow impropers.
    -
    Invalid data file section: AngleAngleTorsion Coeffs
    -
    Atom style does not allow dihedrals.
    -
    Invalid data file section: AngleTorsion Coeffs
    -
    Atom style does not allow dihedrals.
    -
    Invalid data file section: Angles
    -
    Atom style does not allow angles.
    -
    Invalid data file section: Bodies
    -
    Atom style does not allow bodies.
    -
    Invalid data file section: Bond Coeffs
    -
    Atom style does not allow bonds.
    -
    Invalid data file section: BondAngle Coeffs
    -
    Atom style does not allow angles.
    -
    Invalid data file section: BondBond Coeffs
    -
    Atom style does not allow angles.
    -
    Invalid data file section: BondBond13 Coeffs
    -
    Atom style does not allow dihedrals.
    -
    Invalid data file section: Bonds
    -
    Atom style does not allow bonds.
    -
    Invalid data file section: Dihedral Coeffs
    -
    Atom style does not allow dihedrals.
    -
    Invalid data file section: Dihedrals
    -
    Atom style does not allow dihedrals.
    -
    Invalid data file section: Ellipsoids
    -
    Atom style does not allow ellipsoids.
    -
    Invalid data file section: EndBondTorsion Coeffs
    -
    Atom style does not allow dihedrals.
    -
    Invalid data file section: Improper Coeffs
    -
    Atom style does not allow impropers.
    -
    Invalid data file section: Impropers
    -
    Atom style does not allow impropers.
    -
    Invalid data file section: Lines
    -
    Atom style does not allow lines.
    -
    Invalid data file section: MiddleBondTorsion Coeffs
    -
    Atom style does not allow dihedrals.
    -
    Invalid data file section: Triangles
    -
    Atom style does not allow triangles.
    -
    Invalid delta_conf in tad command
    -
    The value must be between 0 and 1 inclusive.
    -
    Invalid density in Atoms section of data file
    -
    Density value cannot be <= 0.0.
    -
    Invalid density in set command
    -
    Density must be > 0.0.
    -
    Invalid diameter in set command
    -
    Self-explanatory.
    -
    Invalid dihedral count in molecule file
    -
    Self-explanatory.
    -
    Invalid dihedral type in Dihedrals section of data file
    -
    Dihedral type must be positive integer and within range of specified -dihedral types.
    -
    Invalid dihedral type in dihedrals section of molecule file
    -
    Self-explanatory.
    -
    Invalid dipole length in set command
    -
    Self-explanatory.
    -
    Invalid displace_atoms rotate axis for 2d
    -
    Axis must be in z direction.
    -
    Invalid dump dcd filename
    -
    Filenames used with the dump dcd style cannot be binary or compressed -or cause multiple files to be written.
    -
    Invalid dump frequency
    -
    Dump frequency must be 1 or greater.
    -
    Invalid dump image element name
    -
    The specified element name was not in the standard list of elements. -See the dump_modify doc page.
    -
    Invalid dump image filename
    -
    The file produced by dump image cannot be binary and must -be for a single processor.
    -
    Invalid dump image persp value
    -
    Persp value must be >= 0.0.
    -
    Invalid dump image theta value
    -
    Theta must be between 0.0 and 180.0 inclusive.
    -
    Invalid dump image zoom value
    -
    Zoom value must be > 0.0.
    -
    Invalid dump movie filename
    -
    The file produced by dump movie cannot be binary or compressed -and must be a single file for a single processor.
    -
    Invalid dump xtc filename
    -
    Filenames used with the dump xtc style cannot be binary or compressed -or cause multiple files to be written.
    -
    Invalid dump xyz filename
    -
    Filenames used with the dump xyz style cannot be binary or cause files -to be written by each processor.
    -
    Invalid dump_modify threshhold operator
    -
    Operator keyword used for threshold specification in not recognized.
    -
    Invalid entry in -reorder file
    -
    Self-explanatory.
    -
    Invalid fix ID in variable formula
    -
    The fix is not recognized.
    -
    Invalid fix ave/time off column
    -
    Self-explantory.
    -
    Invalid fix box/relax command for a 2d simulation
    -
    Fix box/relax styles involving the z dimension cannot be used in -a 2d simulation.
    -
    Invalid fix box/relax command pressure settings
    -
    If multiple dimensions are coupled, those dimensions must be specified.
    -
    Invalid fix box/relax pressure settings
    -
    Settings for coupled dimensions must be the same.
    -
    Invalid fix nvt/npt/nph command for a 2d simulation
    -
    Cannot control z dimension in a 2d model.
    -
    Invalid fix nvt/npt/nph command pressure settings
    -
    If multiple dimensions are coupled, those dimensions must be -specified.
    -
    Invalid fix nvt/npt/nph pressure settings
    -
    Settings for coupled dimensions must be the same.
    -
    Invalid fix press/berendsen for a 2d simulation
    -
    The z component of pressure cannot be controlled for a 2d model.
    -
    Invalid fix press/berendsen pressure settings
    -
    Settings for coupled dimensions must be the same.
    -
    Invalid fix qeq parameter file
    -
    Element index > number of atom types.
    -
    Invalid fix rigid npt/nph command for a 2d simulation
    -
    Cannot control z dimension in a 2d model.
    -
    Invalid fix rigid npt/nph command pressure settings
    -
    If multiple dimensions are coupled, those dimensions must be -specified.
    -
    Invalid fix rigid/small npt/nph command for a 2d simulation
    -
    Cannot control z dimension in a 2d model.
    -
    Invalid fix rigid/small npt/nph command pressure settings
    -
    If multiple dimensions are coupled, those dimensions must be -specified.
    -
    Invalid flag in force field section of restart file
    -
    Unrecognized entry in restart file.
    -
    Invalid flag in header section of restart file
    -
    Unrecognized entry in restart file.
    -
    Invalid flag in peratom section of restart file
    -
    The format of this section of the file is not correct.
    -
    Invalid flag in type arrays section of restart file
    -
    Unrecognized entry in restart file.
    -
    Invalid frequency in temper command
    -
    Nevery must be > 0.
    -
    Invalid group ID in neigh_modify command
    -
    A group ID used in the neigh_modify command does not exist.
    -
    Invalid group function in variable formula
    -
    Group function is not recognized.
    -
    Invalid group in comm_modify command
    -
    Self-explanatory.
    -
    Invalid image up vector
    -
    Up vector cannot be (0,0,0).
    -
    Invalid immediate variable
    -
    Syntax of immediate value is incorrect.
    -
    Invalid improper count in molecule file
    -
    Self-explanatory.
    -
    Invalid improper type in Impropers section of data file
    -
    Improper type must be positive integer and within range of specified -improper types.
    -
    Invalid improper type in impropers section of molecule file
    -
    Self-explanatory.
    -
    Invalid index for non-body particles in compute body/local command
    -
    Only indices 1,2,3 can be used for non-body particles.
    -
    Invalid index in compute body/local command
    -
    Self-explanatory.
    -
    Invalid is_active() function in variable formula
    -
    Self-explanatory.
    -
    Invalid is_available() function in variable formula
    -
    Self-explanatory.
    -
    Invalid is_defined() function in variable formula
    -
    Self-explanatory.
    -
    Invalid keyword in angle table parameters
    -
    Self-explanatory.
    -
    Invalid keyword in bond table parameters
    -
    Self-explanatory.
    -
    Invalid keyword in compute angle/local command
    -
    Self-explanatory.
    -
    Invalid keyword in compute bond/local command
    -
    Self-explanatory.
    -
    Invalid keyword in compute dihedral/local command
    -
    Self-explanatory.
    -
    Invalid keyword in compute improper/local command
    -
    Self-explanatory.
    -
    Invalid keyword in compute pair/local command
    -
    Self-explanatory.
    -
    Invalid keyword in compute property/atom command
    -
    Self-explanatory.
    -
    Invalid keyword in compute property/chunk command
    -
    Self-explanatory.
    -
    Invalid keyword in compute property/local command
    -
    Self-explanatory.
    -
    Invalid keyword in dump cfg command
    -
    Self-explanatory.
    -
    Invalid keyword in pair table parameters
    -
    Keyword used in list of table parameters is not recognized.
    -
    Invalid length in set command
    -
    Self-explanatory.
    -
    Invalid mass in set command
    -
    Self-explanatory.
    -
    Invalid mass line in data file
    -
    Self-explanatory.
    -
    Invalid mass value
    -
    Self-explanatory.
    -
    Invalid math function in variable formula
    -
    Self-explanatory.
    -
    Invalid math/group/special function in variable formula
    -
    Self-explanatory.
    -
    Invalid option in lattice command for non-custom style
    -
    Certain lattice keywords are not supported unless the -lattice style is “custom”.
    -
    Invalid order of forces within respa levels
    -
    For respa, ordering of force computations within respa levels must -obey certain rules. E.g. bonds cannot be compute less frequently than -angles, pairwise forces cannot be computed less frequently than -kspace, etc.
    -
    Invalid pair table cutoff
    -
    Cutoffs in pair_coeff command are not valid with read-in pair table.
    -
    Invalid pair table length
    -
    Length of read-in pair table is invalid
    -
    Invalid param file for fix qeq/shielded
    -
    Invalid value of gamma.
    -
    Invalid param file for fix qeq/slater
    -
    Zeta value is 0.0.
    -
    Invalid partitions in processors part command
    -
    Valid partitions are numbered 1 to N and the sender and receiver -cannot be the same partition.
    -
    Invalid python command
    -
    Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line.
    -
    Invalid radius in Atoms section of data file
    -
    Radius must be >= 0.0.
    -
    Invalid random number seed in fix ttm command
    -
    Random number seed must be > 0.
    -
    Invalid random number seed in set command
    -
    Random number seed must be > 0.
    -
    Invalid replace values in compute reduce
    -
    Self-explanatory.
    -
    Invalid rigid body ID in fix rigid file
    -
    The ID does not match the number of an existing ID of rigid bodies -that are defined by the fix rigid command.
    -
    Invalid rigid body ID in fix rigid/small file
    -
    The ID does not match the number of an existing ID of rigid bodies -that are defined by the fix rigid/small command.
    -
    Invalid run command N value
    -
    The number of timesteps must fit in a 32-bit integer. If you want to -run for more steps than this, perform multiple shorter runs.
    -
    Invalid run command start/stop value
    -
    Self-explanatory.
    -
    Invalid run command upto value
    -
    Self-explanatory.
    -
    Invalid seed for Marsaglia random # generator
    -
    The initial seed for this random number generator must be a positive -integer less than or equal to 900 million.
    -
    Invalid seed for Park random # generator
    -
    The initial seed for this random number generator must be a positive -integer.
    -
    Invalid shake angle type in molecule file
    -
    Self-explanatory.
    -
    Invalid shake atom in molecule file
    -
    Self-explanatory.
    -
    Invalid shake bond type in molecule file
    -
    Self-explanatory.
    -
    Invalid shake flag in molecule file
    -
    Self-explanatory.
    -
    Invalid shape in Ellipsoids section of data file
    -
    Self-explanatory.
    -
    Invalid shape in Triangles section of data file
    -
    Two or more of the triangle corners are duplicate points.
    -
    Invalid shape in set command
    -
    Self-explanatory.
    -
    Invalid shear direction for fix wall/gran
    -
    Self-explanatory.
    -
    Invalid special atom index in molecule file
    -
    Self-explanatory.
    -
    Invalid special function in variable formula
    -
    Self-explanatory.
    -
    Invalid style in pair_write command
    -
    Self-explanatory. Check the input script.
    -
    Invalid syntax in variable formula
    -
    Self-explanatory.
    -
    Invalid t_event in prd command
    -
    Self-explanatory.
    -
    Invalid t_event in tad command
    -
    The value must be greater than 0.
    -
    Invalid template atom in Atoms section of data file
    -
    The atom indices must be between 1 to N, where N is the number of -atoms in the template molecule the atom belongs to.
    -
    Invalid template index in Atoms section of data file
    -
    The template indices must be between 1 to N, where N is the number of -molecules in the template.
    -
    Invalid thermo keyword in variable formula
    -
    The keyword is not recognized.
    -
    Invalid threads_per_atom specified.
    -
    For 3-body potentials on the GPU, the threads_per_atom setting cannot be -greater than 4 for NVIDIA GPUs.
    -
    Invalid timestep reset for fix ave/atom
    -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
    -
    Invalid timestep reset for fix ave/chunk
    -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
    -
    Invalid timestep reset for fix ave/correlate
    -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
    -
    Invalid timestep reset for fix ave/histo
    -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
    -
    Invalid timestep reset for fix ave/spatial
    -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
    -
    Invalid timestep reset for fix ave/time
    -
    Resetting the timestep has invalidated the sequence of timesteps this -fix needs to process.
    -
    Invalid tmax in tad command
    -
    The value must be greater than 0.0.
    -
    Invalid type for mass set
    -
    Mass command must set a type from 1-N where N is the number of atom -types.
    -
    Invalid use of library file() function
    -
    This function is called thru the library interface. This -error should not occur. Contact the developers if it does.
    -
    Invalid value in set command
    -
    The value specified for the setting is invalid, likely because it is -too small or too large.
    -
    Invalid variable evaluation in variable formula
    -
    A variable used in a formula could not be evaluated.
    -
    Invalid variable in next command
    -
    Self-explanatory.
    -
    Invalid variable name
    -
    Variable name used in an input script line is invalid.
    -
    Invalid variable name in variable formula
    -
    Variable name is not recognized.
    -
    Invalid variable style in special function next
    -
    Only file-style or atomfile-style variables can be used with next().
    -
    Invalid variable style with next command
    -
    Variable styles equal and world cannot be used in a next -command.
    -
    Invalid volume in set command
    -
    Volume must be > 0.0.
    -
    Invalid wiggle direction for fix wall/gran
    -
    Self-explanatory.
    -
    Invoked angle equil angle on angle style none
    -
    Self-explanatory.
    -
    Invoked angle single on angle style none
    -
    Self-explanatory.
    -
    Invoked bond equil distance on bond style none
    -
    Self-explanatory.
    -
    Invoked bond single on bond style none
    -
    Self-explanatory.
    -
    Invoked pair single on pair style none
    -
    A command (e.g. a dump) attempted to invoke the single() function on a -pair style none, which is illegal. You are probably attempting to -compute per-atom quantities with an undefined pair style.
    -
    Invoking coulombic in pair style lj/coul requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Invoking coulombic in pair style lj/long/dipole/long requires atom attribute q
    -
    The atom style defined does not have these attributes.
    -
    KIM neighbor iterator exceeded range
    -
    This should not happen. It likely indicates a bug -in the KIM implementation of the interatomic potential -where it is requesting neighbors incorrectly.
    -
    KOKKOS package does not yet support comm_style tiled
    -
    Self-explanatory.
    -
    KOKKOS package requires a kokkos enabled atom_style
    -
    Self-explanatory.
    -
    KSpace accuracy must be > 0
    -
    The kspace accuracy designated in the input must be greater than zero.
    -
    KSpace accuracy too large to estimate G vector
    -
    Reduce the accuracy request or specify gwald explicitly -via the kspace_modify command.
    -
    KSpace accuracy too low
    -
    Requested accuracy must be less than 1.0.
    -
    KSpace solver requires a pair style
    -
    No pair style is defined.
    -
    KSpace style does not yet support triclinic geometries
    -
    The specified kspace style does not allow for non-orthogonal -simulation boxes.
    -
    KSpace style has not yet been set
    -
    Cannot use kspace_modify command until a kspace style is set.
    -
    KSpace style is incompatible with Pair style
    -
    Setting a kspace style requires that a pair style with matching -long-range Coulombic or dispersion components be used.
    -
    Keyword %s in MEAM parameter file not recognized
    -
    Self-explanatory.
    -
    Kokkos has been compiled for CUDA but no GPUs are requested
    -
    One or more GPUs must be used when Kokkos is compiled for CUDA.
    -
    Kspace style does not support compute group/group
    -
    Self-explanatory.
    -
    Kspace style pppm/disp/tip4p requires newton on
    -
    Self-explanatory.
    -
    Kspace style pppm/tip4p requires newton on
    -
    Self-explanatory.
    -
    Kspace style requires atom attribute q
    -
    The atom style defined does not have these attributes.
    -
    Kspace_modify eigtol must be smaller than one
    -
    Self-explanatory.
    -
    LAMMPS is not built with Python embedded
    -
    This is done by including the PYTHON package before LAMMPS is built. -This is required to use python-style variables.
    -
    LAMMPS unit_style lj not supported by KIM models
    -
    Self-explanatory. Check the input script or data file.
    -
    LJ6 off not supported in pair_style buck/long/coul/long
    -
    Self-exlanatory.
    -
    Label wasn’t found in input script
    -
    Self-explanatory.
    -
    Lattice orient vectors are not orthogonal
    -
    The three specified lattice orientation vectors must be mutually -orthogonal.
    -
    Lattice orient vectors are not right-handed
    -
    The three specified lattice orientation vectors must create a -right-handed coordinate system such that a1 cross a2 = a3.
    -
    Lattice primitive vectors are collinear
    -
    The specified lattice primitive vectors do not for a unit cell with -non-zero volume.
    -
    Lattice settings are not compatible with 2d simulation
    -
    One or more of the specified lattice vectors has a non-zero z -component.
    -
    Lattice spacings are invalid
    -
    Each x,y,z spacing must be > 0.
    -
    Lattice style incompatible with simulation dimension
    -
    2d simulation can use sq, sq2, or hex lattice. 3d simulation can use -sc, bcc, or fcc lattice.
    -
    Log of zero/negative value in variable formula
    -
    Self-explanatory.
    -
    Lost atoms via balance: original %ld current %ld
    -
    This should not occur. Report the problem to the developers.
    -
    Lost atoms: original %ld current %ld
    -
    Lost atoms are checked for each time thermo output is done. See the -thermo_modify lost command for options. Lost atoms usually indicate -bad dynamics, e.g. atoms have been blown far out of the simulation -box, or moved futher than one processor’s sub-domain away before -reneighboring.
    -
    MEAM library error %d
    -
    A call to the MEAM Fortran library returned an error.
    -
    MPI_LMP_BIGINT and bigint in lmptype.h are not compatible
    -
    The size of the MPI datatype does not match the size of a bigint.
    -
    MPI_LMP_TAGINT and tagint in lmptype.h are not compatible
    -
    The size of the MPI datatype does not match the size of a tagint.
    -
    MSM can only currently be used with comm_style brick
    -
    This is a current restriction in LAMMPS.
    -
    MSM grid is too large
    -
    The global MSM grid is larger than OFFSET in one or more dimensions. -OFFSET is currently set to 16384. You likely need to decrease the -requested accuracy.
    -
    MSM order must be 4, 6, 8, or 10
    -
    This is a limitation of the MSM implementation in LAMMPS: -the MSM order can only be 4, 6, 8, or 10.
    -
    Mass command before simulation box is defined
    -
    The mass command cannot be used before a read_data, read_restart, or -create_box command.
    -
    Matrix factorization to split dispersion coefficients failed
    -
    This should not normally happen. Contact the developers.
    -
    Min_style command before simulation box is defined
    -
    The min_style command cannot be used before a read_data, read_restart, -or create_box command.
    -
    Minimization could not find thermo_pe compute
    -
    This compute is created by the thermo command. It must have been -explicitly deleted by a uncompute command.
    -
    Minimize command before simulation box is defined
    -
    The minimize command cannot be used before a read_data, read_restart, -or create_box command.
    -
    Mismatched brackets in variable
    -
    Self-explanatory.
    -
    Mismatched compute in variable formula
    -
    A compute is referenced incorrectly or a compute that produces per-atom -values is used in an equal-style variable formula.
    -
    Mismatched fix in variable formula
    -
    A fix is referenced incorrectly or a fix that produces per-atom -values is used in an equal-style variable formula.
    -
    Mismatched variable in variable formula
    -
    A variable is referenced incorrectly or an atom-style variable that -produces per-atom values is used in an equal-style variable -formula.
    -
    Modulo 0 in variable formula
    -
    Self-explanatory.
    -
    Molecule IDs too large for compute chunk/atom
    -
    The IDs must not be larger than can be stored in a 32-bit integer -since chunk IDs are 32-bit integers.
    -
    Molecule auto special bond generation overflow
    -
    Counts exceed maxspecial setting for other atoms in system.
    -
    Molecule file has angles but no nangles setting
    -
    Self-explanatory.
    -
    Molecule file has body params but no setting for them
    -
    Self-explanatory.
    -
    Molecule file has bonds but no nbonds setting
    -
    Self-explanatory.
    -
    Molecule file has dihedrals but no ndihedrals setting
    -
    Self-explanatory.
    -
    Molecule file has impropers but no nimpropers setting
    -
    Self-explanatory.
    -
    Molecule file has no Body Doubles section
    -
    Self-explanatory.
    -
    Molecule file has no Body Integers section
    -
    Self-explanatory.
    -
    Molecule file has special flags but no bonds
    -
    Self-explanatory.
    -
    Molecule file needs both Special Bond sections
    -
    Self-explanatory.
    -
    Molecule file requires atom style body
    -
    Self-explanatory.
    -
    Molecule file shake flags not before shake atoms
    -
    The order of the two sections is important.
    -
    Molecule file shake flags not before shake bonds
    -
    The order of the two sections is important.
    -
    Molecule file shake info is incomplete
    -
    All 3 SHAKE sections are needed.
    -
    Molecule file special list does not match special count
    -
    The number of values in an atom’s special list does not match count.
    -
    Molecule file z center-of-mass must be 0.0 for 2d
    -
    Self-explanatory.
    -
    Molecule file z coord must be 0.0 for 2d
    -
    Self-explanatory.
    -
    Molecule natoms must be 1 for body particle
    -
    Self-explanatory.
    -
    Molecule sizescale must be 1.0 for body particle
    -
    Self-explanatory.
    -
    Molecule template ID for atom_style template does not exist
    -
    Self-explanatory.
    -
    Molecule template ID for create_atoms does not exist
    -
    Self-explantory.
    -
    Molecule template ID for fix deposit does not exist
    -
    Self-explanatory.
    -
    Molecule template ID for fix gcmc does not exist
    -
    Self-explanatory.
    -
    Molecule template ID for fix pour does not exist
    -
    Self-explanatory.
    -
    Molecule template ID for fix rigid/small does not exist
    -
    Self-explanatory.
    -
    Molecule template ID for fix shake does not exist
    -
    Self-explanatory.
    -
    Molecule template ID must be alphanumeric or underscore characters
    -
    Self-explanatory.
    -
    Molecule toplogy/atom exceeds system topology/atom
    -
    The number of bonds, angles, etc per-atom in the molecule exceeds the -system setting. See the create_box command for how to specify these -values.
    -
    Molecule topology type exceeds system topology type
    -
    The number of bond, angle, etc types in the molecule exceeds the -system setting. See the create_box command for how to specify these -values.
    -
    More than one fix deform
    -
    Only one fix deform can be defined at a time.
    -
    More than one fix freeze
    -
    Only one of these fixes can be defined, since the granular pair -potentials access it.
    -
    More than one fix shake
    -
    Only one fix shake can be defined.
    -
    Mu not allowed when not using semi-grand in fix atom/swap command
    -
    Self-explanatory.
    -
    Must define angle_style before Angle Coeffs
    -
    Must use an angle_style command before reading a data file that -defines Angle Coeffs.
    -
    Must define angle_style before BondAngle Coeffs
    -
    Must use an angle_style command before reading a data file that -defines Angle Coeffs.
    -
    Must define angle_style before BondBond Coeffs
    -
    Must use an angle_style command before reading a data file that -defines Angle Coeffs.
    -
    Must define bond_style before Bond Coeffs
    -
    Must use a bond_style command before reading a data file that -defines Bond Coeffs.
    -
    Must define dihedral_style before AngleAngleTorsion Coeffs
    -
    Must use a dihedral_style command before reading a data file that -defines AngleAngleTorsion Coeffs.
    -
    Must define dihedral_style before AngleTorsion Coeffs
    -
    Must use a dihedral_style command before reading a data file that -defines AngleTorsion Coeffs.
    -
    Must define dihedral_style before BondBond13 Coeffs
    -
    Must use a dihedral_style command before reading a data file that -defines BondBond13 Coeffs.
    -
    Must define dihedral_style before Dihedral Coeffs
    -
    Must use a dihedral_style command before reading a data file that -defines Dihedral Coeffs.
    -
    Must define dihedral_style before EndBondTorsion Coeffs
    -
    Must use a dihedral_style command before reading a data file that -defines EndBondTorsion Coeffs.
    -
    Must define dihedral_style before MiddleBondTorsion Coeffs
    -
    Must use a dihedral_style command before reading a data file that -defines MiddleBondTorsion Coeffs.
    -
    Must define improper_style before AngleAngle Coeffs
    -
    Must use an improper_style command before reading a data file that -defines AngleAngle Coeffs.
    -
    Must define improper_style before Improper Coeffs
    -
    Must use an improper_style command before reading a data file that -defines Improper Coeffs.
    -
    Must define pair_style before Pair Coeffs
    -
    Must use a pair_style command before reading a data file that defines -Pair Coeffs.
    -
    Must define pair_style before PairIJ Coeffs
    -
    Must use a pair_style command before reading a data file that defines -PairIJ Coeffs.
    -
    Must have more than one processor partition to temper
    -
    Cannot use the temper command with only one processor partition. Use -the -partition command-line option.
    -
    Must read Atoms before Angles
    -
    The Atoms section of a data file must come before an Angles section.
    -
    Must read Atoms before Bodies
    -
    The Atoms section of a data file must come before a Bodies section.
    -
    Must read Atoms before Bonds
    -
    The Atoms section of a data file must come before a Bonds section.
    -
    Must read Atoms before Dihedrals
    -
    The Atoms section of a data file must come before a Dihedrals section.
    -
    Must read Atoms before Ellipsoids
    -
    The Atoms section of a data file must come before a Ellipsoids -section.
    -
    Must read Atoms before Impropers
    -
    The Atoms section of a data file must come before an Impropers -section.
    -
    Must read Atoms before Lines
    -
    The Atoms section of a data file must come before a Lines section.
    -
    Must read Atoms before Triangles
    -
    The Atoms section of a data file must come before a Triangles section.
    -
    Must read Atoms before Velocities
    -
    The Atoms section of a data file must come before a Velocities -section.
    -
    Must set both respa inner and outer
    -
    Cannot use just the inner or outer option with respa without using the -other.
    -
    Must set number of threads via package omp command
    -
    Because you are using the USER-OMP package, set the number of threads -via its settings, not by the pair_style snap nthreads setting.
    -
    Must shrink-wrap piston boundary
    -
    The boundary style of the face where the piston is applied must be of -type s (shrink-wrapped).
    -
    Must specify a region in fix deposit
    -
    The region keyword must be specified with this fix.
    -
    Must specify a region in fix pour
    -
    Self-explanatory.
    -
    Must specify at least 2 types in fix atom/swap command
    -
    Self-explanatory.
    -
    Must use ‘kspace_modify pressure/scalar no’ for rRESPA with kspace_style MSM
    -
    The kspace scalar pressure option cannot (yet) be used with rRESPA.
    -
    Must use ‘kspace_modify pressure/scalar no’ for tensor components with kspace_style msm
    -
    Otherwise MSM will compute only a scalar pressure. See the kspace_modify -command for details on this setting.
    -
    Must use ‘kspace_modify pressure/scalar no’ to obtain per-atom virial with kspace_style MSM
    -
    The kspace scalar pressure option cannot be used to obtain per-atom virial.
    -
    Must use ‘kspace_modify pressure/scalar no’ with GPU MSM Pair styles
    -
    The kspace scalar pressure option is not (yet) compatible with GPU MSM Pair styles.
    -
    Must use ‘kspace_modify pressure/scalar no’ with kspace_style msm/cg
    -
    The kspace scalar pressure option is not compatible with kspace_style msm/cg.
    -
    Must use -in switch with multiple partitions
    -
    A multi-partition simulation cannot read the input script from stdin. -The -in command-line option must be used to specify a file.
    -
    Must use Kokkos half/thread or full neighbor list with threads or GPUs
    -
    Using Kokkos half-neighbor lists with threading is not allowed.
    -
    Must use a block or cylinder region with fix pour
    -
    Self-explanatory.
    -
    Must use a block region with fix pour for 2d simulations
    -
    Self-explanatory.
    -
    Must use a bond style with TIP4P potential
    -
    TIP4P potentials assume bond lengths in water are constrained -by a fix shake command.
    -
    Must use a molecular atom style with fix poems molecule
    -
    Self-explanatory.
    -
    Must use a z-axis cylinder region with fix pour
    -
    Self-explanatory.
    -
    Must use an angle style with TIP4P potential
    -
    TIP4P potentials assume angles in water are constrained by a fix shake -command.
    -
    Must use atom map style array with Kokkos
    -
    See the atom_modify map command.
    -
    Must use atom style with molecule IDs with fix bond/swap
    -
    Self-explanatory.
    -
    Must use pair_style comb or comb3 with fix qeq/comb
    -
    Self-explanatory.
    -
    Must use variable energy with fix addforce
    -
    Must define an energy vartiable when applyting a dynamic -force during minimization.
    -
    Must use variable energy with fix efield
    -
    You must define an energy when performing a minimization with a -variable E-field.
    -
    NEB command before simulation box is defined
    -
    Self-explanatory.
    -
    NEB requires damped dynamics minimizer
    -
    Use a different minimization style.
    -
    NEB requires use of fix neb
    -
    Self-explanatory.
    -
    NL ramp in wall/piston only implemented in zlo for now
    -
    The ramp keyword can only be used for piston applied to face zlo.
    -
    Need nswaptypes mu values in fix atom/swap command
    -
    Self-explanatory.
    -
    Needed bonus data not in data file
    -
    Some atom styles require bonus data. See the read_data doc page for -details.
    -
    Needed molecular topology not in data file
    -
    The header of the data file indicated bonds, angles, etc would be -included, but they are not present.
    -
    Neigh_modify exclude molecule requires atom attribute molecule
    -
    Self-explanatory.
    -
    Neigh_modify include group != atom_modify first group
    -
    Self-explanatory.
    -
    Neighbor delay must be 0 or multiple of every setting
    -
    The delay and every parameters set via the neigh_modify command are -inconsistent. If the delay setting is non-zero, then it must be a -multiple of the every setting.
    -
    Neighbor include group not allowed with ghost neighbors
    -
    This is a current restriction within LAMMPS.
    -
    Neighbor list overflow, boost neigh_modify one
    -
    There are too many neighbors of a single atom. Use the neigh_modify -command to increase the max number of neighbors allowed for one atom. -You may also want to boost the page size.
    -
    Neighbor multi not yet enabled for ghost neighbors
    -
    This is a current restriction within LAMMPS.
    -
    Neighbor multi not yet enabled for granular
    -
    Self-explanatory.
    -
    Neighbor multi not yet enabled for rRESPA
    -
    Self-explanatory.
    -
    Neighbor page size must be >= 10x the one atom setting
    -
    This is required to prevent wasting too much memory.
    -
    New atom IDs exceed maximum allowed ID
    -
    See the setting for tagint in the src/lmptype.h file.
    -
    New bond exceeded bonds per atom in create_bonds
    -
    See the read_data command for info on setting the “extra bond per -atom” header value to allow for additional bonds to be formed.
    -
    New bond exceeded bonds per atom in fix bond/create
    -
    See the read_data command for info on setting the “extra bond per -atom” header value to allow for additional bonds to be formed.
    -
    New bond exceeded special list size in fix bond/create
    -
    See the special_bonds extra command for info on how to leave space in -the special bonds list to allow for additional bonds to be formed.
    -
    Newton bond change after simulation box is defined
    -
    The newton command cannot be used to change the newton bond value -after a read_data, read_restart, or create_box command.
    -
    Next command must list all universe and uloop variables
    -
    This is to insure they stay in sync.
    -
    No Kspace style defined for compute group/group
    -
    Self-explanatory.
    -
    No OpenMP support compiled in
    -
    An OpenMP flag is set, but LAMMPS was not built with -OpenMP support.
    -
    No angle style is defined for compute angle/local
    -
    Self-explanatory.
    -
    No angles allowed with this atom style
    -
    Self-explanatory.
    -
    No atoms in data file
    -
    The header of the data file indicated that atoms would be included, -but they are not present.
    -
    No basis atoms in lattice
    -
    Basis atoms must be defined for lattice style user.
    -
    No bodies allowed with this atom style
    -
    Self-explanatory. Check data file.
    -
    No bond style is defined for compute bond/local
    -
    Self-explanatory.
    -
    No bonds allowed with this atom style
    -
    Self-explanatory.
    -
    No box information in dump. You have to use ‘box no’
    -
    Self-explanatory.
    -
    No count or invalid atom count in molecule file
    -
    The number of atoms must be specified.
    -
    No dihedral style is defined for compute dihedral/local
    -
    Self-explanatory.
    -
    No dihedrals allowed with this atom style
    -
    Self-explanatory.
    -
    No dump custom arguments specified
    -
    The dump custom command requires that atom quantities be specified to -output to dump file.
    -
    No dump local arguments specified
    -
    Self-explanatory.
    -
    No ellipsoids allowed with this atom style
    -
    Self-explanatory. Check data file.
    -
    No fix gravity defined for fix pour
    -
    Gravity is required to use fix pour.
    -
    No improper style is defined for compute improper/local
    -
    Self-explanatory.
    -
    No impropers allowed with this atom style
    -
    Self-explanatory.
    -
    No input values for fix ave/spatial
    -
    Self-explanatory.
    -
    No lines allowed with this atom style
    -
    Self-explanatory. Check data file.
    -
    No matching element in ADP potential file
    -
    The ADP potential file does not contain elements that match the -requested elements.
    -
    No matching element in EAM potential file
    -
    The EAM potential file does not contain elements that match the -requested elements.
    -
    No molecule topology allowed with atom style template
    -
    The data file cannot specify the number of bonds, angles, etc, -because this info if inferred from the molecule templates.
    -
    No overlap of box and region for create_atoms
    -
    Self-explanatory.
    -
    No pair coul/streitz for fix qeq/slater
    -
    These commands must be used together.
    -
    No pair hbond/dreiding coefficients set
    -
    Self-explanatory.
    -
    No pair style defined for compute group/group
    -
    Cannot calculate group interactions without a pair style defined.
    -
    No pair style is defined for compute pair/local
    -
    Self-explanatory.
    -
    No pair style is defined for compute property/local
    -
    Self-explanatory.
    -
    No rigid bodies defined
    -
    The fix specification did not end up defining any rigid bodies.
    -
    No triangles allowed with this atom style
    -
    Self-explanatory. Check data file.
    -
    No values in fix ave/chunk command
    -
    Self-explanatory.
    -
    No values in fix ave/time command
    -
    Self-explanatory.
    -
    Non digit character between brackets in variable
    -
    Self-explantory.
    -
    Non integer # of swaps in temper command
    -
    Swap frequency in temper command must evenly divide the total # of -timesteps.
    -
    Non-numeric box dimensions - simulation unstable
    -
    The box size has apparently blown up.
    -
    Non-zero atom IDs with atom_modify id = no
    -
    Self-explanatory.
    -
    Non-zero read_data shift z value for 2d simulation
    -
    Self-explanatory.
    -
    Nprocs not a multiple of N for -reorder
    -
    Self-explanatory.
    -
    Number of core atoms != number of shell atoms
    -
    There must be a one-to-one pairing of core and shell atoms.
    -
    Numeric index is out of bounds
    -
    A command with an argument that specifies an integer or range of -integers is using a value that is less than 1 or greater than the -maximum allowed limit.
    -
    One or more Atom IDs is negative
    -
    Atom IDs must be positive integers.
    -
    One or more atom IDs is too big
    -
    The limit on atom IDs is set by the SMALLBIG, BIGBIG, SMALLSMALL -setting in your Makefile. See Section_start 2.2 of the manual for -more details.
    -
    One or more atom IDs is zero
    -
    Either all atoms IDs must be zero or none of them.
    -
    One or more atoms belong to multiple rigid bodies
    -
    Two or more rigid bodies defined by the fix rigid command cannot -contain the same atom.
    -
    One or more rigid bodies are a single particle
    -
    Self-explanatory.
    -
    One or zero atoms in rigid body
    -
    Any rigid body defined by the fix rigid command must contain 2 or more -atoms.
    -
    Only 2 types allowed when not using semi-grand in fix atom/swap command
    -
    Self-explanatory.
    -
    Only one cut-off allowed when requesting all long
    -
    Self-explanatory.
    -
    Only one cutoff allowed when requesting all long
    -
    Self-explanatory.
    -
    Only zhi currently implemented for fix append/atoms
    -
    Self-explanatory.
    -
    Out of range atoms - cannot compute MSM
    -
    One or more atoms are attempting to map their charge to a MSM grid point -that is not owned by a processor. This is likely for one of two -reasons, both of them bad. First, it may mean that an atom near the -boundary of a processor’s sub-domain has moved more than 1/2 the -neighbor skin distance without neighbor lists being -rebuilt and atoms being migrated to new processors. This also means -you may be missing pairwise interactions that need to be computed. -The solution is to change the re-neighboring criteria via the -neigh_modify command. The safest settings are “delay 0 -every 1 check yes”. Second, it may mean that an atom has moved far -outside a processor’s sub-domain or even the entire simulation box. -This indicates bad physics, e.g. due to highly overlapping atoms, too -large a timestep, etc.
    -
    Out of range atoms - cannot compute PPPM
    -
    One or more atoms are attempting to map their charge to a PPPM grid -point that is not owned by a processor. This is likely for one of two -reasons, both of them bad. First, it may mean that an atom near the -boundary of a processor’s sub-domain has moved more than 1/2 the -neighbor skin distance without neighbor lists being -rebuilt and atoms being migrated to new processors. This also means -you may be missing pairwise interactions that need to be computed. -The solution is to change the re-neighboring criteria via the -neigh_modify command. The safest settings are “delay 0 -every 1 check yes”. Second, it may mean that an atom has moved far -outside a processor’s sub-domain or even the entire simulation box. -This indicates bad physics, e.g. due to highly overlapping atoms, too -large a timestep, etc.
    -
    Out of range atoms - cannot compute PPPMDisp
    -
    One or more atoms are attempting to map their charge to a PPPM grid -point that is not owned by a processor. This is likely for one of two -reasons, both of them bad. First, it may mean that an atom near the -boundary of a processor’s sub-domain has moved more than 1/2 the -neighbor skin distance without neighbor lists being -rebuilt and atoms being migrated to new processors. This also means -you may be missing pairwise interactions that need to be computed. -The solution is to change the re-neighboring criteria via the -neigh_modify command. The safest settings are “delay 0 -every 1 check yes”. Second, it may mean that an atom has moved far -outside a processor’s sub-domain or even the entire simulation box. -This indicates bad physics, e.g. due to highly overlapping atoms, too -large a timestep, etc.
    -
    Overflow of allocated fix vector storage
    -
    This should not normally happen if the fix correctly calculated -how long the vector will grow to. Contact the developers.
    -
    Overlapping large/large in pair colloid
    -
    This potential is infinite when there is an overlap.
    -
    Overlapping small/large in pair colloid
    -
    This potential is infinite when there is an overlap.
    -
    POEMS fix must come before NPT/NPH fix
    -
    NPT/NPH fix must be defined in input script after all poems fixes, -else the fix contribution to the pressure virial is incorrect.
    -
    PPPM can only currently be used with comm_style brick
    -
    This is a current restriction in LAMMPS.
    -
    PPPM grid is too large
    -
    The global PPPM grid is larger than OFFSET in one or more dimensions. -OFFSET is currently set to 4096. You likely need to decrease the -requested accuracy.
    -
    PPPM grid stencil extends beyond nearest neighbor processor
    -
    This is not allowed if the kspace_modify overlap setting is no.
    -
    PPPM order < minimum allowed order
    -
    The default minimum order is 2. This can be reset by the -kspace_modify minorder command.
    -
    PPPM order cannot be < 2 or > than %d
    -
    This is a limitation of the PPPM implementation in LAMMPS.
    -
    PPPMDisp Coulomb grid is too large
    -
    The global PPPM grid is larger than OFFSET in one or more dimensions. -OFFSET is currently set to 4096. You likely need to decrease the -requested accuracy.
    -
    PPPMDisp Dispersion grid is too large
    -
    The global PPPM grid is larger than OFFSET in one or more dimensions. -OFFSET is currently set to 4096. You likely need to decrease the -requested accuracy.
    -
    PPPMDisp can only currently be used with comm_style brick
    -
    This is a current restriction in LAMMPS.
    -
    PPPMDisp coulomb order cannot be greater than %d
    -
    This is a limitation of the PPPM implementation in LAMMPS.
    -
    PPPMDisp used but no parameters set, for further information please see the pppm/disp documentation
    -
    An efficient and accurate usage of the pppm/disp requires settings via the kspace_modify command. Please see the pppm/disp documentation for further instructions.
    -
    PRD command before simulation box is defined
    -
    The prd command cannot be used before a read_data, -read_restart, or create_box command.
    -
    PRD nsteps must be multiple of t_event
    -
    Self-explanatory.
    -
    PRD t_corr must be multiple of t_event
    -
    Self-explanatory.
    -
    Package command after simulation box is defined
    -
    The package command cannot be used afer a read_data, read_restart, or -create_box command.
    -
    Package cuda command without USER-CUDA package enabled
    -
    The USER-CUDA package must be installed via “make yes-user-cuda” -before LAMMPS is built, and the “-c on” must be used to enable the -package.
    -
    Package gpu command without GPU package installed
    -
    The GPU package must be installed via “make yes-gpu” before LAMMPS is -built.
    -
    Package intel command without USER-INTEL package installed
    -
    The USER-INTEL package must be installed via “make yes-user-intel” -before LAMMPS is built.
    -
    Package kokkos command without KOKKOS package enabled
    -
    The KOKKOS package must be installed via “make yes-kokkos” before -LAMMPS is built, and the “-k on” must be used to enable the package.
    -
    Package omp command without USER-OMP package installed
    -
    The USER-OMP package must be installed via “make yes-user-omp” before -LAMMPS is built.
    -
    Pair body requires atom style body
    -
    Self-explanatory.
    -
    Pair body requires body style nparticle
    -
    This pair style is specific to the nparticle body style.
    -
    Pair brownian requires atom style sphere
    -
    Self-explanatory.
    -
    Pair brownian requires extended particles
    -
    One of the particles has radius 0.0.
    -
    Pair brownian requires monodisperse particles
    -
    All particles must be the same finite size.
    -
    Pair brownian/poly requires atom style sphere
    -
    Self-explanatory.
    -
    Pair brownian/poly requires extended particles
    -
    One of the particles has radius 0.0.
    -
    Pair brownian/poly requires newton pair off
    -
    Self-explanatory.
    -
    Pair coeff for hybrid has invalid style
    -
    Style in pair coeff must have been listed in pair_style command.
    -
    Pair coul/wolf requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair cutoff < Respa interior cutoff
    -
    One or more pairwise cutoffs are too short to use with the specified -rRESPA cutoffs.
    -
    Pair dipole/cut requires atom attributes q, mu, torque
    -
    The atom style defined does not have these attributes.
    -
    Pair dipole/cut/gpu requires atom attributes q, mu, torque
    -
    The atom style defined does not have this attribute.
    -
    Pair dipole/long requires atom attributes q, mu, torque
    -
    The atom style defined does not have these attributes.
    -
    Pair dipole/sf/gpu requires atom attributes q, mu, torque
    -
    The atom style defined does not one or more of these attributes.
    -
    Pair distance < table inner cutoff
    -
    Two atoms are closer together than the pairwise table allows.
    -
    Pair distance > table outer cutoff
    -
    Two atoms are further apart than the pairwise table allows.
    -
    Pair dpd requires ghost atoms store velocity
    -
    Use the comm_modify vel yes command to enable this.
    -
    Pair gayberne epsilon a,b,c coeffs are not all set
    -
    Each atom type involved in pair_style gayberne must -have these 3 coefficients set at least once.
    -
    Pair gayberne requires atom style ellipsoid
    -
    Self-explanatory.
    -
    Pair gayberne requires atoms with same type have same shape
    -
    Self-explanatory.
    -
    Pair gayberne/gpu requires atom style ellipsoid
    -
    Self-explanatory.
    -
    Pair gayberne/gpu requires atoms with same type have same shape
    -
    Self-explanatory.
    -
    Pair granular requires atom attributes radius, rmass
    -
    The atom style defined does not have these attributes.
    -
    Pair granular requires ghost atoms store velocity
    -
    Use the comm_modify vel yes command to enable this.
    -
    Pair granular with shear history requires newton pair off
    -
    This is a current restriction of the implementation of pair -granular styles with history.
    -
    Pair hybrid single calls do not support per sub-style special bond values
    -
    Self-explanatory.
    -
    Pair hybrid sub-style does not support single call
    -
    You are attempting to invoke a single() call on a pair style -that doesn’t support it.
    -
    Pair hybrid sub-style is not used
    -
    No pair_coeff command used a sub-style specified in the pair_style -command.
    -
    Pair inner cutoff < Respa interior cutoff
    -
    One or more pairwise cutoffs are too short to use with the specified -rRESPA cutoffs.
    -
    Pair inner cutoff >= Pair outer cutoff
    -
    The specified cutoffs for the pair style are inconsistent.
    -
    Pair line/lj requires atom style line
    -
    Self-explanatory.
    -
    Pair lj/long/dipole/long requires atom attributes mu, torque
    -
    The atom style defined does not have these attributes.
    -
    Pair lubricate requires atom style sphere
    -
    Self-explanatory.
    -
    Pair lubricate requires ghost atoms store velocity
    -
    Use the comm_modify vel yes command to enable this.
    -
    Pair lubricate requires monodisperse particles
    -
    All particles must be the same finite size.
    -
    Pair lubricate/poly requires atom style sphere
    -
    Self-explanatory.
    -
    Pair lubricate/poly requires extended particles
    -
    One of the particles has radius 0.0.
    -
    Pair lubricate/poly requires ghost atoms store velocity
    -
    Use the comm_modify vel yes command to enable this.
    -
    Pair lubricate/poly requires newton pair off
    -
    Self-explanatory.
    -
    Pair lubricateU requires atom style sphere
    -
    Self-explanatory.
    -
    Pair lubricateU requires ghost atoms store velocity
    -
    Use the comm_modify vel yes command to enable this.
    -
    Pair lubricateU requires monodisperse particles
    -
    All particles must be the same finite size.
    -
    Pair lubricateU/poly requires ghost atoms store velocity
    -
    Use the comm_modify vel yes command to enable this.
    -
    Pair lubricateU/poly requires newton pair off
    -
    Self-explanatory.
    -
    Pair peri lattice is not identical in x, y, and z
    -
    The lattice defined by the lattice command must be cubic.
    -
    Pair peri requires a lattice be defined
    -
    Use the lattice command for this purpose.
    -
    Pair peri requires an atom map, see atom_modify
    -
    Even for atomic systems, an atom map is required to find Peridynamic -bonds. Use the atom_modify command to define one.
    -
    Pair resquared epsilon a,b,c coeffs are not all set
    -
    Self-explanatory.
    -
    Pair resquared epsilon and sigma coeffs are not all set
    -
    Self-explanatory.
    -
    Pair resquared requires atom style ellipsoid
    -
    Self-explanatory.
    -
    Pair resquared requires atoms with same type have same shape
    -
    Self-explanatory.
    -
    Pair resquared/gpu requires atom style ellipsoid
    -
    Self-explanatory.
    -
    Pair resquared/gpu requires atoms with same type have same shape
    -
    Self-explanatory.
    -
    Pair style AIREBO requires atom IDs
    -
    This is a requirement to use the AIREBO potential.
    -
    Pair style AIREBO requires newton pair on
    -
    See the newton command. This is a restriction to use the AIREBO -potential.
    -
    Pair style BOP requires atom IDs
    -
    This is a requirement to use the BOP potential.
    -
    Pair style BOP requires newton pair on
    -
    See the newton command. This is a restriction to use the BOP -potential.
    -
    Pair style COMB requires atom IDs
    -
    This is a requirement to use the AIREBO potential.
    -
    Pair style COMB requires atom attribute q
    -
    Self-explanatory.
    -
    Pair style COMB requires newton pair on
    -
    See the newton command. This is a restriction to use the COMB -potential.
    -
    Pair style COMB3 requires atom IDs
    -
    This is a requirement to use the COMB3 potential.
    -
    Pair style COMB3 requires atom attribute q
    -
    Self-explanatory.
    -
    Pair style COMB3 requires newton pair on
    -
    See the newton command. This is a restriction to use the COMB3 -potential.
    -
    Pair style LCBOP requires atom IDs
    -
    This is a requirement to use the LCBOP potential.
    -
    Pair style LCBOP requires newton pair on
    -
    See the newton command. This is a restriction to use the Tersoff -potential.
    -
    Pair style MEAM requires newton pair on
    -
    See the newton command. This is a restriction to use the MEAM -potential.
    -
    Pair style SNAP requires newton pair on
    -
    See the newton command. This is a restriction to use the SNAP -potential.
    -
    Pair style Stillinger-Weber requires atom IDs
    -
    This is a requirement to use the SW potential.
    -
    Pair style Stillinger-Weber requires newton pair on
    -
    See the newton command. This is a restriction to use the SW -potential.
    -
    Pair style Tersoff requires atom IDs
    -
    This is a requirement to use the Tersoff potential.
    -
    Pair style Tersoff requires newton pair on
    -
    See the newton command. This is a restriction to use the Tersoff -potential.
    -
    Pair style Vashishta requires atom IDs
    -
    This is a requirement to use the Vashishta potential.
    -
    Pair style Vashishta requires newton pair on
    -
    See the newton command. This is a restriction to use the Vashishta -potential.
    -
    Pair style bop requires comm ghost cutoff at least 3x larger than %g
    -
    Use the communicate ghost command to set this. See the pair bop -doc page for more details.
    -
    Pair style born/coul/long requires atom attribute q
    -
    An atom style that defines this attribute must be used.
    -
    Pair style born/coul/long/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style born/coul/wolf requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style buck/coul/cut requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style buck/coul/long requires atom attribute q
    -
    The atom style defined does not have these attributes.
    -
    Pair style buck/coul/long/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style buck/long/coul/long requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style coul/cut requires atom attribute q
    -
    The atom style defined does not have these attributes.
    -
    Pair style coul/cut/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style coul/debye/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style coul/dsf requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style coul/dsf/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style coul/long/gpu requires atom attribute q
    -
    The atom style defined does not have these attributes.
    -
    Pair style coul/streitz requires atom attribute q
    -
    Self-explanatory.
    -
    Pair style does not have extra field requested by compute pair/local
    -
    The pair style does not support the pN value requested by the compute -pair/local command.
    -
    Pair style does not support bond_style quartic
    -
    The pair style does not have a single() function, so it can -not be invoked by bond_style quartic.
    -
    Pair style does not support compute group/group
    -
    The pair_style does not have a single() function, so it cannot be -invokded by the compute group/group command.
    -
    Pair style does not support compute pair/local
    -
    The pair style does not have a single() function, so it can -not be invoked by compute pair/local.
    -
    Pair style does not support compute property/local
    -
    The pair style does not have a single() function, so it can -not be invoked by fix bond/swap.
    -
    Pair style does not support fix bond/swap
    -
    The pair style does not have a single() function, so it can -not be invoked by fix bond/swap.
    -
    Pair style does not support pair_write
    -
    The pair style does not have a single() function, so it can -not be invoked by pair write.
    -
    Pair style does not support rRESPA inner/middle/outer
    -
    You are attempting to use rRESPA options with a pair style that -does not support them.
    -
    Pair style granular with history requires atoms have IDs
    -
    Atoms in the simulation do not have IDs, so history effects -cannot be tracked by the granular pair potential.
    -
    Pair style hbond/dreiding requires an atom map, see atom_modify
    -
    Self-explanatory.
    -
    Pair style hbond/dreiding requires atom IDs
    -
    Self-explanatory.
    -
    Pair style hbond/dreiding requires molecular system
    -
    Self-explanatory.
    -
    Pair style hbond/dreiding requires newton pair on
    -
    See the newton command for details.
    -
    Pair style hybrid cannot have hybrid as an argument
    -
    Self-explanatory.
    -
    Pair style hybrid cannot have none as an argument
    -
    Self-explanatory.
    -
    Pair style is incompatible with KSpace style
    -
    If a pair style with a long-range Coulombic component is selected, -then a kspace style must also be used.
    -
    Pair style is incompatible with TIP4P KSpace style
    -
    The pair style does not have the requires TIP4P settings.
    -
    Pair style lj/charmm/coul/charmm requires atom attribute q
    -
    The atom style defined does not have these attributes.
    -
    Pair style lj/charmm/coul/long requires atom attribute q
    -
    The atom style defined does not have these attributes.
    -
    Pair style lj/charmm/coul/long/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style lj/class2/coul/cut requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style lj/class2/coul/long requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style lj/class2/coul/long/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style lj/cut/coul/cut requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style lj/cut/coul/cut/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style lj/cut/coul/debye/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style lj/cut/coul/dsf requires atom attribute q
    -
    The atom style defined does not have these attributes.
    -
    Pair style lj/cut/coul/dsf/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style lj/cut/coul/long requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style lj/cut/coul/long/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style lj/cut/tip4p/cut requires atom IDs
    -
    This is a requirement to use this potential.
    -
    Pair style lj/cut/tip4p/cut requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style lj/cut/tip4p/cut requires newton pair on
    -
    See the newton command. This is a restriction to use this -potential.
    -
    Pair style lj/cut/tip4p/long requires atom IDs
    -
    There are no atom IDs defined in the system and the TIP4P potential -requires them to find O,H atoms with a water molecule.
    -
    Pair style lj/cut/tip4p/long requires atom attribute q
    -
    The atom style defined does not have these attributes.
    -
    Pair style lj/cut/tip4p/long requires newton pair on
    -
    This is because the computation of constraint forces within a water -molecule adds forces to atoms owned by other processors.
    -
    Pair style lj/gromacs/coul/gromacs requires atom attribute q
    -
    An atom_style with this attribute is needed.
    -
    Pair style lj/long/dipole/long does not currently support respa
    -
    This feature is not yet supported.
    -
    Pair style lj/long/tip4p/long requires atom IDs
    -
    There are no atom IDs defined in the system and the TIP4P potential -requires them to find O,H atoms with a water molecule.
    -
    Pair style lj/long/tip4p/long requires atom attribute q
    -
    The atom style defined does not have these attributes.
    -
    Pair style lj/long/tip4p/long requires newton pair on
    -
    This is because the computation of constraint forces within a water -molecule adds forces to atoms owned by other processors.
    -
    Pair style lj/sdk/coul/long/gpu requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style nb3b/harmonic requires atom IDs
    -
    This is a requirement to use this potential.
    -
    Pair style nb3b/harmonic requires newton pair on
    -
    See the newton command. This is a restriction to use this potential.
    -
    Pair style nm/cut/coul/cut requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style nm/cut/coul/long requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style peri requires atom style peri
    -
    Self-explanatory.
    -
    Pair style polymorphic requires atom IDs
    -
    This is a requirement to use the polymorphic potential.
    -
    Pair style polymorphic requires newton pair on
    -
    See the newton command. This is a restriction to use the polymorphic -potential.
    -
    Pair style reax requires atom IDs
    -
    This is a requirement to use the ReaxFF potential.
    -
    Pair style reax requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style reax requires newton pair on
    -
    This is a requirement to use the ReaxFF potential.
    -
    Pair style requires a KSpace style
    -
    No kspace style is defined.
    -
    Pair style requires use of kspace_style ewald/disp
    -
    Self-explanatory.
    -
    Pair style sw/gpu requires atom IDs
    -
    This is a requirement to use this potential.
    -
    Pair style sw/gpu requires newton pair off
    -
    See the newton command. This is a restriction to use this potential.
    -
    Pair style tersoff/gpu requires atom IDs
    -
    This is a requirement to use the tersoff/gpu potential.
    -
    Pair style tersoff/gpu requires newton pair off
    -
    See the newton command. This is a restriction to use this pair style.
    -
    Pair style tip4p/cut requires atom IDs
    -
    This is a requirement to use this potential.
    -
    Pair style tip4p/cut requires atom attribute q
    -
    The atom style defined does not have this attribute.
    -
    Pair style tip4p/cut requires newton pair on
    -
    See the newton command. This is a restriction to use this potential.
    -
    Pair style tip4p/long requires atom IDs
    -
    There are no atom IDs defined in the system and the TIP4P potential -requires them to find O,H atoms with a water molecule.
    -
    Pair style tip4p/long requires atom attribute q
    -
    The atom style defined does not have these attributes.
    -
    Pair style tip4p/long requires newton pair on
    -
    This is because the computation of constraint forces within a water -molecule adds forces to atoms owned by other processors.
    -
    Pair table cutoffs must all be equal to use with KSpace
    -
    When using pair style table with a long-range KSpace solver, the -cutoffs for all atom type pairs must all be the same, since the -long-range solver starts at that cutoff.
    -
    Pair table parameters did not set N
    -
    List of pair table parameters must include N setting.
    -
    Pair tersoff/zbl requires metal or real units
    -
    This is a current restriction of this pair potential.
    -
    Pair tersoff/zbl/kk requires metal or real units
    -
    This is a current restriction of this pair potential.
    -
    Pair tri/lj requires atom style tri
    -
    Self-explanatory.
    -
    Pair yukawa/colloid requires atom style sphere
    -
    Self-explantory.
    -
    Pair yukawa/colloid requires atoms with same type have same radius
    -
    Self-explantory.
    -
    Pair yukawa/colloid/gpu requires atom style sphere
    -
    Self-explanatory.
    -
    PairKIM only works with 3D problems
    -
    This is a current limitation.
    -
    Pair_coeff command before pair_style is defined
    -
    Self-explanatory.
    -
    Pair_coeff command before simulation box is defined
    -
    The pair_coeff command cannot be used before a read_data, -read_restart, or create_box command.
    -
    Pair_modify command before pair_style is defined
    -
    Self-explanatory.
    -
    Pair_modify special setting for pair hybrid incompatible with global special_bonds setting
    -
    Cannot override a setting of 0.0 or 1.0 or change a setting between -0.0 and 1.0.
    -
    Pair_write command before pair_style is defined
    -
    Self-explanatory.
    -
    Particle on or inside fix wall surface
    -
    Particles must be “exterior” to the wall in order for energy/force to -be calculated.
    -
    Particle outside surface of region used in fix wall/region
    -
    Particles must be inside the region for energy/force to be calculated. -A particle outside the region generates an error.
    -
    Per-atom compute in equal-style variable formula
    -
    Equal-style variables cannot use per-atom quantities.
    -
    Per-atom energy was not tallied on needed timestep
    -
    You are using a thermo keyword that requires potentials to -have tallied energy, but they didn’t on this timestep. See the -variable doc page for ideas on how to make this work.
    -
    Per-atom fix in equal-style variable formula
    -
    Equal-style variables cannot use per-atom quantities.
    -
    Per-atom virial was not tallied on needed timestep
    -
    You are using a thermo keyword that requires potentials to have -tallied the virial, but they didn’t on this timestep. See the -variable doc page for ideas on how to make this work.
    -
    Per-processor system is too big
    -
    The number of owned atoms plus ghost atoms on a single -processor must fit in 32-bit integer.
    -
    Potential energy ID for fix neb does not exist
    -
    Self-explanatory.
    -
    Potential energy ID for fix nvt/nph/npt does not exist
    -
    A compute for potential energy must be defined.
    -
    Potential file has duplicate entry
    -
    The potential file has more than one entry for the same element.
    -
    Potential file is missing an entry
    -
    The potential file does not have a needed entry.
    -
    Power by 0 in variable formula
    -
    Self-explanatory.
    -
    Pressure ID for fix box/relax does not exist
    -
    The compute ID needed to compute pressure for the fix does not -exist.
    -
    Pressure ID for fix modify does not exist
    -
    Self-explanatory.
    -
    Pressure ID for fix npt/nph does not exist
    -
    Self-explanatory.
    -
    Pressure ID for fix press/berendsen does not exist
    -
    The compute ID needed to compute pressure for the fix does not -exist.
    -
    Pressure ID for fix rigid npt/nph does not exist
    -
    Self-explanatory.
    -
    Pressure ID for thermo does not exist
    -
    The compute ID needed to compute pressure for thermodynamics does not -exist.
    -
    Pressure control can not be used with fix nvt
    -
    Self-explanatory.
    -
    Pressure control can not be used with fix nvt/asphere
    -
    Self-explanatory.
    -
    Pressure control can not be used with fix nvt/body
    -
    Self-explanatory.
    -
    Pressure control can not be used with fix nvt/sllod
    -
    Self-explanatory.
    -
    Pressure control can not be used with fix nvt/sphere
    -
    Self-explanatory.
    -
    Pressure control must be used with fix nph
    -
    Self-explanatory.
    -
    Pressure control must be used with fix nph/asphere
    -
    Self-explanatory.
    -
    Pressure control must be used with fix nph/body
    -
    Self-explanatory.
    -
    Pressure control must be used with fix nph/small
    -
    Self-explanatory.
    -
    Pressure control must be used with fix nph/sphere
    -
    Self-explanatory.
    -
    Pressure control must be used with fix nphug
    -
    A pressure control keyword (iso, aniso, tri, x, y, or z) must be -provided.
    -
    Pressure control must be used with fix npt
    -
    Self-explanatory.
    -
    Pressure control must be used with fix npt/asphere
    -
    Self-explanatory.
    -
    Pressure control must be used with fix npt/body
    -
    Self-explanatory.
    -
    Pressure control must be used with fix npt/sphere
    -
    Self-explanatory.
    -
    Processor count in z must be 1 for 2d simulation
    -
    Self-explanatory.
    -
    Processor partitions do not match number of allocated processors
    -
    The total number of processors in all partitions must match the number -of processors LAMMPS is running on.
    -
    Processors command after simulation box is defined
    -
    The processors command cannot be used after a read_data, read_restart, -or create_box command.
    -
    Processors custom grid file is inconsistent
    -
    The vales in the custom file are not consistent with the number of -processors you are running on or the Px,Py,Pz settings of the -processors command. Or there was not a setting for every processor.
    -
    Processors grid numa and map style are incompatible
    -
    Using numa for gstyle in the processors command requires using -cart for the map option.
    -
    Processors part option and grid style are incompatible
    -
    Cannot use gstyle numa or custom with the part option.
    -
    Processors twogrid requires proc count be a multiple of core count
    -
    Self-explanatory.
    -
    Pstart and Pstop must have the same value
    -
    Self-explanatory.
    -
    Python function evaluation failed
    -
    The Python function did not run succesfully and/or did not return a -value (if it is supposed to return a value). This is probably due to -some error condition in the function.
    -
    Python function is not callable
    -
    The provided Python code was run successfully, but it not -define a callable function with the required name.
    -
    Python invoke of undefined function
    -
    Cannot invoke a function that has not been previously defined.
    -
    Python variable does not match Python function
    -
    This matching is defined by the python-style variable and the python -command.
    -
    Python variable has no function
    -
    No python command was used to define the function associated with the -python-style variable.
    -
    QEQ with ‘newton pair off’ not supported
    -
    See the newton command. This is a restriction to use the QEQ fixes.
    -
    R0 < 0 for fix spring command
    -
    Equilibrium spring length is invalid.
    -
    RATTLE coordinate constraints are not satisfied up to desired tolerance
    -
    Self-explanatory.
    -
    RATTLE determinant = 0.0
    -
    The determinant of the matrix being solved for a single cluster -specified by the fix rattle command is numerically invalid.
    -
    RATTLE failed
    -
    Certain constraints were not satisfied.
    -
    RATTLE velocity constraints are not satisfied up to desired tolerance
    -
    Self-explanatory.
    -
    Read data add offset is too big
    -
    It cannot be larger than the size of atom IDs, e.g. the maximum 32-bit -integer.
    -
    Read dump of atom property that isn’t allocated
    -
    Self-explanatory.
    -
    Read rerun dump file timestep > specified stop
    -
    Self-explanatory.
    -
    Read restart MPI-IO input not allowed with % in filename
    -
    This is because a % signifies one file per processor and MPI-IO -creates one large file for all processors.
    -
    Read_data shrink wrap did not assign all atoms correctly
    -
    This is typically because the box-size specified in the data file is -large compared to the actual extent of atoms in a shrink-wrapped -dimension. When LAMMPS shrink-wraps the box atoms will be lost if the -processor they are re-assigned to is too far away. Choose a box -size closer to the actual extent of the atoms.
    -
    Read_dump command before simulation box is defined
    -
    The read_dump command cannot be used before a read_data, read_restart, -or create_box command.
    -
    Read_dump field not found in dump file
    -
    Self-explanatory.
    -
    Read_dump triclinic status does not match simulation
    -
    Both the dump snapshot and the current LAMMPS simulation must -be using either an orthogonal or triclinic box.
    -
    Read_dump xyz fields do not have consistent scaling/wrapping
    -
    Self-explanatory.
    -
    Reading from MPI-IO filename when MPIIO package is not installed
    -
    Self-explanatory.
    -
    Reax_defs.h setting for NATDEF is too small
    -
    Edit the setting in the ReaxFF library and re-compile the -library and re-build LAMMPS.
    -
    Reax_defs.h setting for NNEIGHMAXDEF is too small
    -
    Edit the setting in the ReaxFF library and re-compile the -library and re-build LAMMPS.
    -
    Receiving partition in processors part command is already a receiver
    -
    Cannot specify a partition to be a receiver twice.
    -
    Region ID for compute chunk/atom does not exist
    -
    Self-explanatory.
    -
    Region ID for compute reduce/region does not exist
    -
    Self-explanatory.
    -
    Region ID for compute temp/region does not exist
    -
    Self-explanatory.
    -
    Region ID for dump custom does not exist
    -
    Self-explanatory.
    -
    Region ID for fix addforce does not exist
    -
    Self-explanatory.
    -
    Region ID for fix atom/swap does not exist
    -
    Self-explanatory.
    -
    Region ID for fix ave/spatial does not exist
    -
    Self-explanatory.
    -
    Region ID for fix aveforce does not exist
    -
    Self-explanatory.
    -
    Region ID for fix deposit does not exist
    -
    Self-explanatory.
    -
    Region ID for fix efield does not exist
    -
    Self-explanatory.
    -
    Region ID for fix evaporate does not exist
    -
    Self-explanatory.
    -
    Region ID for fix gcmc does not exist
    -
    Self-explanatory.
    -
    Region ID for fix heat does not exist
    -
    Self-explanatory.
    -
    Region ID for fix setforce does not exist
    -
    Self-explanatory.
    -
    Region ID for fix wall/region does not exist
    -
    Self-explanatory.
    -
    Region ID for group dynamic does not exist
    -
    Self-explanatory.
    -
    Region ID in variable formula does not exist
    -
    Self-explanatory.
    -
    Region cannot have 0 length rotation vector
    -
    Self-explanatory.
    -
    Region for fix oneway does not exist
    -
    Self-explanatory.
    -
    Region intersect region ID does not exist
    -
    Self-explanatory.
    -
    Region union or intersect cannot be dynamic
    -
    The sub-regions can be dynamic, but not the combined region.
    -
    Region union region ID does not exist
    -
    One or more of the region IDs specified by the region union command -does not exist.
    -
    Replacing a fix, but new style != old style
    -
    A fix ID can be used a 2nd time, but only if the style matches the -previous fix. In this case it is assumed you with to reset a fix’s -parameters. This error may mean you are mistakenly re-using a fix ID -when you do not intend to.
    -
    Replicate command before simulation box is defined
    -
    The replicate command cannot be used before a read_data, read_restart, -or create_box command.
    -
    Replicate did not assign all atoms correctly
    -
    Atoms replicated by the replicate command were not assigned correctly -to processors. This is likely due to some atom coordinates being -outside a non-periodic simulation box.
    -
    Replicated system atom IDs are too big
    -
    See the setting for tagint in the src/lmptype.h file.
    -
    Replicated system is too big
    -
    See the setting for bigint in the src/lmptype.h file.
    -
    Required border comm not yet implemented with Kokkos
    -
    There are various limitations in the communication options supported -by Kokkos.
    -
    Rerun command before simulation box is defined
    -
    The rerun command cannot be used before a read_data, read_restart, or -create_box command.
    -
    Rerun dump file does not contain requested snapshot
    -
    Self-explanatory.
    -
    Resetting timestep size is not allowed with fix move
    -
    This is because fix move is moving atoms based on elapsed time.
    -
    Respa inner cutoffs are invalid
    -
    The first cutoff must be <= the second cutoff.
    -
    Respa levels must be >= 1
    -
    Self-explanatory.
    -
    Respa middle cutoffs are invalid
    -
    The first cutoff must be <= the second cutoff.
    -
    Restart file MPI-IO output not allowed with % in filename
    -
    This is because a % signifies one file per processor and MPI-IO -creates one large file for all processors.
    -
    Restart file byte ordering is not recognized
    -
    The file does not appear to be a LAMMPS restart file since it doesn’t -contain a recognized byte-orderomg flag at the beginning.
    -
    Restart file byte ordering is swapped
    -
    The file was written on a machine with different byte-ordering than -the machine you are reading it on. Convert it to a text data file -instead, on the machine you wrote it on.
    -
    Restart file incompatible with current version
    -
    This is probably because you are trying to read a file created with a -version of LAMMPS that is too old compared to the current version. -Use your older version of LAMMPS and convert the restart file -to a data file.
    -
    Restart file is a MPI-IO file
    -
    The file is inconsistent with the filename you specified for it.
    -
    Restart file is a multi-proc file
    -
    The file is inconsistent with the filename you specified for it.
    -
    Restart file is not a MPI-IO file
    -
    The file is inconsistent with the filename you specified for it.
    -
    Restart file is not a multi-proc file
    -
    The file is inconsistent with the filename you specified for it.
    -
    Restart variable returned a bad timestep
    -
    The variable must return a timestep greater than the current timestep.
    -
    Restrain atoms %d %d %d %d missing on proc %d at step %ld
    -
    The 4 atoms in a restrain dihedral specified by the fix restrain -command are not all accessible to a processor. This probably means an -atom has moved too far.
    -
    Restrain atoms %d %d %d missing on proc %d at step %ld
    -
    The 3 atoms in a restrain angle specified by the fix restrain -command are not all accessible to a processor. This probably means an -atom has moved too far.
    -
    Restrain atoms %d %d missing on proc %d at step %ld
    -
    The 2 atoms in a restrain bond specified by the fix restrain -command are not all accessible to a processor. This probably means an -atom has moved too far.
    -
    Reuse of compute ID
    -
    A compute ID cannot be used twice.
    -
    Reuse of dump ID
    -
    A dump ID cannot be used twice.
    -
    Reuse of molecule template ID
    -
    The template IDs must be unique.
    -
    Reuse of region ID
    -
    A region ID cannot be used twice.
    -
    Rigid body atoms %d %d missing on proc %d at step %ld
    -
    This means that an atom cannot find the atom that owns the rigid body -it is part of, or vice versa. The solution is to use the communicate -cutoff command to insure ghost atoms are acquired from far enough away -to encompass the max distance printed when the fix rigid/small command -was invoked.
    -
    Rigid body has degenerate moment of inertia
    -
    Fix poems will only work with bodies (collections of atoms) that have -non-zero principal moments of inertia. This means they must be 3 or -more non-collinear atoms, even with joint atoms removed.
    -
    Rigid fix must come before NPT/NPH fix
    -
    NPT/NPH fix must be defined in input script after all rigid fixes, -else the rigid fix contribution to the pressure virial is -incorrect.
    -
    Rmask function in equal-style variable formula
    -
    Rmask is per-atom operation.
    -
    Run command before simulation box is defined
    -
    The run command cannot be used before a read_data, read_restart, or -create_box command.
    -
    Run command start value is after start of run
    -
    Self-explanatory.
    -
    Run command stop value is before end of run
    -
    Self-explanatory.
    -
    Run_style command before simulation box is defined
    -
    The run_style command cannot be used before a read_data, -read_restart, or create_box command.
    -
    SRD bin size for fix srd differs from user request
    -
    Fix SRD had to adjust the bin size to fit the simulation box. See the -cubic keyword if you want this message to be an error vs warning.
    -
    SRD bins for fix srd are not cubic enough
    -
    The bin shape is not within tolerance of cubic. See the cubic -keyword if you want this message to be an error vs warning.
    -
    SRD particle %d started inside big particle %d on step %ld bounce %d
    -
    See the inside keyword if you want this message to be an error vs -warning.
    -
    SRD particle %d started inside wall %d on step %ld bounce %d
    -
    See the inside keyword if you want this message to be an error vs -warning.
    -
    Same dimension twice in fix ave/spatial
    -
    Self-explanatory.
    -
    Sending partition in processors part command is already a sender
    -
    Cannot specify a partition to be a sender twice.
    -
    Set command before simulation box is defined
    -
    The set command cannot be used before a read_data, read_restart, -or create_box command.
    -
    Set command floating point vector does not exist
    -
    Self-explanatory.
    -
    Set command integer vector does not exist
    -
    Self-explanatory.
    -
    Set command with no atoms existing
    -
    No atoms are yet defined so the set command cannot be used.
    -
    Set region ID does not exist
    -
    Region ID specified in set command does not exist.
    -
    Shake angles have different bond types
    -
    All 3-atom angle-constrained SHAKE clusters specified by the fix shake -command that are the same angle type, must also have the same bond -types for the 2 bonds in the angle.
    -
    Shake atoms %d %d %d %d missing on proc %d at step %ld
    -
    The 4 atoms in a single shake cluster specified by the fix shake -command are not all accessible to a processor. This probably means -an atom has moved too far.
    -
    Shake atoms %d %d %d missing on proc %d at step %ld
    -
    The 3 atoms in a single shake cluster specified by the fix shake -command are not all accessible to a processor. This probably means -an atom has moved too far.
    -
    Shake atoms %d %d missing on proc %d at step %ld
    -
    The 2 atoms in a single shake cluster specified by the fix shake -command are not all accessible to a processor. This probably means -an atom has moved too far.
    -
    Shake cluster of more than 4 atoms
    -
    A single cluster specified by the fix shake command can have no more -than 4 atoms.
    -
    Shake clusters are connected
    -
    A single cluster specified by the fix shake command must have a single -central atom with up to 3 other atoms bonded to it.
    -
    Shake determinant = 0.0
    -
    The determinant of the matrix being solved for a single cluster -specified by the fix shake command is numerically invalid.
    -
    Shake fix must come before NPT/NPH fix
    -
    NPT fix must be defined in input script after SHAKE fix, else the -SHAKE fix contribution to the pressure virial is incorrect.
    -
    Shear history overflow, boost neigh_modify one
    -
    There are too many neighbors of a single atom. Use the neigh_modify -command to increase the max number of neighbors allowed for one atom. -You may also want to boost the page size.
    -
    Small to big integers are not sized correctly
    -
    This error occurs whenthe sizes of smallint, imageint, tagint, bigint, -as defined in src/lmptype.h are not what is expected. Contact -the developers if this occurs.
    -
    Smallint setting in lmptype.h is invalid
    -
    It has to be the size of an integer.
    -
    Smallint setting in lmptype.h is not compatible
    -
    Smallint stored in restart file is not consistent with LAMMPS version -you are running.
    -
    Special list size exceeded in fix bond/create
    -
    See the read_data command for info on setting the “extra special per -atom” header value to allow for additional special values to be -stored.
    -
    Specified processors != physical processors
    -
    The 3d grid of processors defined by the processors command does not -match the number of processors LAMMPS is being run on.
    -
    Specified target stress must be uniaxial or hydrostatic
    -
    Self-explanatory.
    -
    Sqrt of negative value in variable formula
    -
    Self-explanatory.
    -
    Subsequent read data induced too many angles per atom
    -
    See the create_box extra/angle/per/atom or read_data “extra angle per -atom” header value to set this limit larger.
    -
    Subsequent read data induced too many bonds per atom
    -
    See the create_box extra/bond/per/atom or read_data “extra bond per -atom” header value to set this limit larger.
    -
    Subsequent read data induced too many dihedrals per atom
    -
    See the create_box extra/dihedral/per/atom or read_data “extra -dihedral per atom” header value to set this limit larger.
    -
    Subsequent read data induced too many impropers per atom
    -
    See the create_box extra/improper/per/atom or read_data “extra -improper per atom” header value to set this limit larger.
    -
    Substitution for illegal variable
    -
    Input script line contained a variable that could not be substituted -for.
    -
    Support for writing images in JPEG format not included
    -
    LAMMPS was not built with the -DLAMMPS_JPEG switch in the Makefile.
    -
    Support for writing images in PNG format not included
    -
    LAMMPS was not built with the -DLAMMPS_PNG switch in the Makefile.
    -
    Support for writing movies not included
    -
    LAMMPS was not built with the -DLAMMPS_FFMPEG switch in the Makefile
    -
    System in data file is too big
    -
    See the setting for bigint in the src/lmptype.h file.
    -
    System is not charge neutral, net charge = %g
    -
    The total charge on all atoms on the system is not 0.0. -For some KSpace solvers this is an error.
    -
    TAD nsteps must be multiple of t_event
    -
    Self-explanatory.
    -
    TIP4P hydrogen has incorrect atom type
    -
    The TIP4P pairwise computation found an H atom whose type does not -agree with the specified H type.
    -
    TIP4P hydrogen is missing
    -
    The TIP4P pairwise computation failed to find the correct H atom -within a water molecule.
    -
    TMD target file did not list all group atoms
    -
    The target file for the fix tmd command did not list all atoms in the -fix group.
    -
    Tad command before simulation box is defined
    -
    Self-explanatory.
    -
    Tagint setting in lmptype.h is invalid
    -
    Tagint must be as large or larger than smallint.
    -
    Tagint setting in lmptype.h is not compatible
    -
    Format of tagint stored in restart file is not consistent with LAMMPS -version you are running. See the settings in src/lmptype.h
    -
    Target pressure for fix rigid/nph cannot be < 0.0
    -
    Self-explanatory.
    -
    Target pressure for fix rigid/npt/small cannot be < 0.0
    -
    Self-explanatory.
    -
    Target temperature for fix nvt/npt/nph cannot be 0.0
    -
    Self-explanatory.
    -
    Target temperature for fix rigid/npt cannot be 0.0
    -
    Self-explanatory.
    -
    Target temperature for fix rigid/npt/small cannot be 0.0
    -
    Self-explanatory.
    -
    Target temperature for fix rigid/nvt cannot be 0.0
    -
    Self-explanatory.
    -
    Target temperature for fix rigid/nvt/small cannot be 0.0
    -
    Self-explanatory.
    -
    Temper command before simulation box is defined
    -
    The temper command cannot be used before a read_data, read_restart, or -create_box command.
    -
    Temperature ID for fix bond/swap does not exist
    -
    Self-explanatory.
    -
    Temperature ID for fix box/relax does not exist
    -
    Self-explanatory.
    -
    Temperature ID for fix nvt/npt does not exist
    -
    Self-explanatory.
    -
    Temperature ID for fix press/berendsen does not exist
    -
    Self-explanatory.
    -
    Temperature ID for fix rigid nvt/npt/nph does not exist
    -
    Self-explanatory.
    -
    Temperature ID for fix temp/berendsen does not exist
    -
    Self-explanatory.
    -
    Temperature ID for fix temp/csld does not exist
    -
    Self-explanatory.
    -
    Temperature ID for fix temp/csvr does not exist
    -
    Self-explanatory.
    -
    Temperature ID for fix temp/rescale does not exist
    -
    Self-explanatory.
    -
    Temperature compute degrees of freedom < 0
    -
    This should not happen if you are calculating the temperature -on a valid set of atoms.
    -
    Temperature control can not be used with fix nph
    -
    Self-explanatory.
    -
    Temperature control can not be used with fix nph/asphere
    -
    Self-explanatory.
    -
    Temperature control can not be used with fix nph/body
    -
    Self-explanatory.
    -
    Temperature control can not be used with fix nph/sphere
    -
    Self-explanatory.
    -
    Temperature control must be used with fix nphug
    -
    The temp keyword must be provided.
    -
    Temperature control must be used with fix npt
    -
    Self-explanatory.
    -
    Temperature control must be used with fix npt/asphere
    -
    Self-explanatory.
    -
    Temperature control must be used with fix npt/body
    -
    Self-explanatory.
    -
    Temperature control must be used with fix npt/sphere
    -
    Self-explanatory.
    -
    Temperature control must be used with fix nvt
    -
    Self-explanatory.
    -
    Temperature control must be used with fix nvt/asphere
    -
    Self-explanatory.
    -
    Temperature control must be used with fix nvt/body
    -
    Self-explanatory.
    -
    Temperature control must be used with fix nvt/sllod
    -
    Self-explanatory.
    -
    Temperature control must be used with fix nvt/sphere
    -
    Self-explanatory.
    -
    Temperature control must not be used with fix nph/small
    -
    Self-explanatory.
    -
    Temperature for fix nvt/sllod does not have a bias
    -
    The specified compute must compute temperature with a bias.
    -
    Tempering could not find thermo_pe compute
    -
    This compute is created by the thermo command. It must have been -explicitly deleted by a uncompute command.
    -
    Tempering fix ID is not defined
    -
    The fix ID specified by the temper command does not exist.
    -
    Tempering temperature fix is not valid
    -
    The fix specified by the temper command is not one that controls -temperature (nvt or langevin).
    -
    Test_descriptor_string already allocated
    -
    This is an internal error. Contact the developers.
    -
    The package gpu command is required for gpu styles
    -
    Self-explanatory.
    -
    Thermo and fix not computed at compatible times
    -
    Fixes generate values on specific timesteps. The thermo output -does not match these timesteps.
    -
    Thermo compute array is accessed out-of-range
    -
    Self-explanatory.
    -
    Thermo compute does not compute array
    -
    Self-explanatory.
    -
    Thermo compute does not compute scalar
    -
    Self-explanatory.
    -
    Thermo compute does not compute vector
    -
    Self-explanatory.
    -
    Thermo compute vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Thermo custom variable cannot be indexed
    -
    Self-explanatory.
    -
    Thermo custom variable is not equal-style variable
    -
    Only equal-style variables can be output with thermodynamics, not -atom-style variables.
    -
    Thermo every variable returned a bad timestep
    -
    The variable must return a timestep greater than the current timestep.
    -
    Thermo fix array is accessed out-of-range
    -
    Self-explanatory.
    -
    Thermo fix does not compute array
    -
    Self-explanatory.
    -
    Thermo fix does not compute scalar
    -
    Self-explanatory.
    -
    Thermo fix does not compute vector
    -
    Self-explanatory.
    -
    Thermo fix vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Thermo keyword in variable requires thermo to use/init pe
    -
    You are using a thermo keyword in a variable that requires -potential energy to be calculated, but your thermo output -does not use it. Add it to your thermo output.
    -
    Thermo keyword in variable requires thermo to use/init press
    -
    You are using a thermo keyword in a variable that requires pressure to -be calculated, but your thermo output does not use it. Add it to your -thermo output.
    -
    Thermo keyword in variable requires thermo to use/init temp
    -
    You are using a thermo keyword in a variable that requires temperature -to be calculated, but your thermo output does not use it. Add it to -your thermo output.
    -
    Thermo style does not use press
    -
    Cannot use thermo_modify to set this parameter since the thermo_style -is not computing this quantity.
    -
    Thermo style does not use temp
    -
    Cannot use thermo_modify to set this parameter since the thermo_style -is not computing this quantity.
    -
    Thermo_modify every variable returned a bad timestep
    -
    The returned timestep is less than or equal to the current timestep.
    -
    Thermo_modify int format does not contain d character
    -
    Self-explanatory.
    -
    Thermo_modify pressure ID does not compute pressure
    -
    The specified compute ID does not compute pressure.
    -
    Thermo_modify temperature ID does not compute temperature
    -
    The specified compute ID does not compute temperature.
    -
    Thermo_style command before simulation box is defined
    -
    The thermo_style command cannot be used before a read_data, -read_restart, or create_box command.
    -
    This variable thermo keyword cannot be used between runs
    -
    Keywords that refer to time (such as cpu, elapsed) do not -make sense in between runs.
    -
    Threshhold for an atom property that isn’t allocated
    -
    A dump threshhold has been requested on a quantity that is -not defined by the atom style used in this simulation.
    -
    Timestep must be >= 0
    -
    Specified timestep is invalid.
    -
    Too big a problem to use velocity create loop all
    -
    The system size must fit in a 32-bit integer to use this option.
    -
    Too big a timestep for dump dcd
    -
    The timestep must fit in a 32-bit integer to use this dump style.
    -
    Too big a timestep for dump xtc
    -
    The timestep must fit in a 32-bit integer to use this dump style.
    -
    Too few bits for lookup table
    -
    Table size specified via pair_modify command does not work with your -machine’s floating point representation.
    -
    Too few lines in %s section of data file
    -
    Self-explanatory.
    -
    Too few values in body lines in data file
    -
    Self-explanatory.
    -
    Too few values in body section of molecule file
    -
    Self-explanatory.
    -
    Too many -pk arguments in command line
    -
    The string formed by concatenating the arguments is too long. Use a -package command in the input script instead.
    -
    Too many MSM grid levels
    -
    The max number of MSM grid levels is hardwired to 10.
    -
    Too many args in variable function
    -
    More args are used than any variable function allows.
    -
    Too many atom pairs for pair bop
    -
    The number of atomic pairs exceeds the expected number. Check your -atomic structure to ensure that it is realistic.
    -
    Too many atom sorting bins
    -
    This is likely due to an immense simulation box that has blown up -to a large size.
    -
    Too many atom triplets for pair bop
    -
    The number of three atom groups for angle determinations exceeds the -expected number. Check your atomic structrure to ensure that it is -realistic.
    -
    Too many atoms for dump dcd
    -
    The system size must fit in a 32-bit integer to use this dump -style.
    -
    Too many atoms for dump xtc
    -
    The system size must fit in a 32-bit integer to use this dump -style.
    -
    Too many atoms to dump sort
    -
    Cannot sort when running with more than 2^31 atoms.
    -
    Too many exponent bits for lookup table
    -
    Table size specified via pair_modify command does not work with your -machine’s floating point representation.
    -
    Too many groups
    -
    The maximum number of atom groups (including the “all” group) is -given by MAX_GROUP in group.cpp and is 32.
    -
    Too many iterations
    -
    You must use a number of iterations that fit in a 32-bit integer -for minimization.
    -
    Too many lines in one body in data file - boost MAXBODY
    -
    MAXBODY is a setting at the top of the src/read_data.cpp file. -Set it larger and re-compile the code.
    -
    Too many local+ghost atoms for neighbor list
    -
    The number of nlocal + nghost atoms on a processor -is limited by the size of a 32-bit integer with 2 bits -removed for masking 1-2, 1-3, 1-4 neighbors.
    -
    Too many mantissa bits for lookup table
    -
    Table size specified via pair_modify command does not work with your -machine’s floating point representation.
    -
    Too many masses for fix shake
    -
    The fix shake command cannot list more masses than there are atom -types.
    -
    Too many molecules for fix poems
    -
    The limit is 2^31 = ~2 billion molecules.
    -
    Too many molecules for fix rigid
    -
    The limit is 2^31 = ~2 billion molecules.
    -
    Too many neighbor bins
    -
    This is likely due to an immense simulation box that has blown up -to a large size.
    -
    Too many timesteps
    -
    The cummulative timesteps must fit in a 64-bit integer.
    -
    Too many timesteps for NEB
    -
    You must use a number of timesteps that fit in a 32-bit integer -for NEB.
    -
    Too many total atoms
    -
    See the setting for bigint in the src/lmptype.h file.
    -
    Too many total bits for bitmapped lookup table
    -
    Table size specified via pair_modify command is too large. Note that -a value of N generates a 2^N size table.
    -
    Too many values in body lines in data file
    -
    Self-explanatory.
    -
    Too many values in body section of molecule file
    -
    Self-explanatory.
    -
    Too much buffered per-proc info for dump
    -
    The size of the buffered string must fit in a 32-bit integer for a -dump.
    -
    Too much per-proc info for dump
    -
    Number of local atoms times number of columns must fit in a 32-bit -integer for dump.
    -
    Tree structure in joint connections
    -
    Fix poems cannot (yet) work with coupled bodies whose joints connect -the bodies in a tree structure.
    -
    Triclinic box skew is too large
    -
    The displacement in a skewed direction must be less than half the box -length in that dimension. E.g. the xy tilt must be between -half and -+half of the x box length. This constraint can be relaxed by using -the box tilt command.
    -
    Tried to convert a double to int, but input_double > INT_MAX
    -
    Self-explanatory.
    -
    Trying to build an occasional neighbor list before initialization completed
    -
    This is not allowed. Source code caller needs to be modified.
    -
    Two fix ave commands using same compute chunk/atom command in incompatible ways
    -
    They are both attempting to “lock” the chunk/atom command so that the -chunk assignments persist for some number of timesteps, but are doing -it in different ways.
    -
    Two groups cannot be the same in fix spring couple
    -
    Self-explanatory.
    -
    USER-CUDA mode requires CUDA variant of min style
    -
    CUDA mode is enabled, so the min style must include a cuda suffix.
    -
    USER-CUDA mode requires CUDA variant of run style
    -
    CUDA mode is enabled, so the run style must include a cuda suffix.
    -
    USER-CUDA package does not yet support comm_style tiled
    -
    Self-explanatory.
    -
    USER-CUDA package requires a cuda enabled atom_style
    -
    Self-explanatory.
    -
    Unable to initialize accelerator for use
    -
    There was a problem initializing an accelerator for the gpu package
    -
    Unbalanced quotes in input line
    -
    No matching end double quote was found following a leading double -quote.
    -
    Unexpected end of -reorder file
    -
    Self-explanatory.
    -
    Unexpected end of AngleCoeffs section
    -
    Read a blank line.
    -
    Unexpected end of BondCoeffs section
    -
    Read a blank line.
    -
    Unexpected end of DihedralCoeffs section
    -
    Read a blank line.
    -
    Unexpected end of ImproperCoeffs section
    -
    Read a blank line.
    -
    Unexpected end of PairCoeffs section
    -
    Read a blank line.
    -
    Unexpected end of custom file
    -
    Self-explanatory.
    -
    Unexpected end of data file
    -
    LAMMPS hit the end of the data file while attempting to read a -section. Something is wrong with the format of the data file.
    -
    Unexpected end of dump file
    -
    A read operation from the file failed.
    -
    Unexpected end of fix rigid file
    -
    A read operation from the file failed.
    -
    Unexpected end of fix rigid/small file
    -
    A read operation from the file failed.
    -
    Unexpected end of molecule file
    -
    Self-explanatory.
    -
    Unexpected end of neb file
    -
    A read operation from the file failed.
    -
    Units command after simulation box is defined
    -
    The units command cannot be used after a read_data, read_restart, or -create_box command.
    -
    Universe/uloop variable count < # of partitions
    -
    A universe or uloop style variable must specify a number of values >= to the -number of processor partitions.
    -
    Unknown angle style
    -
    The choice of angle style is unknown.
    -
    Unknown atom style
    -
    The choice of atom style is unknown.
    -
    Unknown body style
    -
    The choice of body style is unknown.
    -
    Unknown bond style
    -
    The choice of bond style is unknown.
    -
    Unknown category for info is_active()
    -
    Self-explanatory.
    -
    Unknown category for info is_available()
    -
    Self-explanatory.
    -
    Unknown category for info is_defined()
    -
    Self-explanatory.
    -
    Unknown command: %s
    -
    The command is not known to LAMMPS. Check the input script.
    -
    Unknown compute style
    -
    The choice of compute style is unknown.
    -
    Unknown dihedral style
    -
    The choice of dihedral style is unknown.
    -
    Unknown dump reader style
    -
    The choice of dump reader style via the format keyword is unknown.
    -
    Unknown dump style
    -
    The choice of dump style is unknown.
    -
    Unknown error in GPU library
    -
    Self-explanatory.
    -
    Unknown fix style
    -
    The choice of fix style is unknown.
    -
    Unknown identifier in data file: %s
    -
    A section of the data file cannot be read by LAMMPS.
    -
    Unknown improper style
    -
    The choice of improper style is unknown.
    -
    Unknown keyword in thermo_style custom command
    -
    One or more specified keywords are not recognized.
    -
    Unknown kspace style
    -
    The choice of kspace style is unknown.
    -
    Unknown name for info newton category
    -
    Self-explanatory.
    -
    Unknown name for info package category
    -
    Self-explanatory.
    -
    Unknown name for info pair category
    -
    Self-explanatory.
    -
    Unknown pair style
    -
    The choice of pair style is unknown.
    -
    Unknown pair_modify hybrid sub-style
    -
    The choice of sub-style is unknown.
    -
    Unknown region style
    -
    The choice of region style is unknown.
    -
    Unknown section in molecule file
    -
    Self-explanatory.
    -
    Unknown table style in angle style table
    -
    Self-explanatory.
    -
    Unknown table style in bond style table
    -
    Self-explanatory.
    -
    Unknown table style in pair_style command
    -
    Style of table is invalid for use with pair_style table command.
    -
    Unknown unit_style
    -
    Self-explanatory. Check the input script or data file.
    -
    Unrecognized lattice type in MEAM file 1
    -
    The lattice type in an entry of the MEAM library file is not -valid.
    -
    Unrecognized lattice type in MEAM file 2
    -
    The lattice type in an entry of the MEAM parameter file is not -valid.
    -
    Unrecognized pair style in compute pair command
    -
    Self-explanatory.
    -
    Unrecognized virial argument in pair_style command
    -
    Only two options are supported: LAMMPSvirial and KIMvirial
    -
    Unsupported mixing rule in kspace_style ewald/disp
    -
    Only geometric mixing is supported.
    -
    Unsupported order in kspace_style ewald/disp
    -
    Only 1/r^6 dispersion or dipole terms are supported.
    -
    Unsupported order in kspace_style pppm/disp, pair_style %s
    -
    Only pair styles with 1/r and 1/r^6 dependence are currently supported.
    -
    Use cutoff keyword to set cutoff in single mode
    -
    Mode is single so cutoff/multi keyword cannot be used.
    -
    Use cutoff/multi keyword to set cutoff in multi mode
    -
    Mode is multi so cutoff keyword cannot be used.
    -
    Using fix nvt/sllod with inconsistent fix deform remap option
    -
    Fix nvt/sllod requires that deforming atoms have a velocity profile -provided by “remap v” as a fix deform option.
    -
    Using fix nvt/sllod with no fix deform defined
    -
    Self-explanatory.
    -
    Using fix srd with inconsistent fix deform remap option
    -
    When shearing the box in an SRD simulation, the remap v option for fix -deform needs to be used.
    -
    Using pair lubricate with inconsistent fix deform remap option
    -
    Must use remap v option with fix deform with this pair style.
    -
    Using pair lubricate/poly with inconsistent fix deform remap option
    -
    If fix deform is used, the remap v option is required.
    -
    Using suffix cuda without USER-CUDA package enabled
    -
    Self-explanatory.
    -
    Using suffix gpu without GPU package installed
    -
    Self-explanatory.
    -
    Using suffix intel without USER-INTEL package installed
    -
    Self-explanatory.
    -
    Using suffix kk without KOKKOS package enabled
    -
    Self-explanatory.
    -
    Using suffix omp without USER-OMP package installed
    -
    Self-explanatory.
    -
    Using update dipole flag requires atom attribute mu
    -
    Self-explanatory.
    -
    Using update dipole flag requires atom style sphere
    -
    Self-explanatory.
    -
    Variable ID in variable formula does not exist
    -
    Self-explanatory.
    -
    Variable atom ID is too large
    -
    Specified ID is larger than the maximum allowed atom ID.
    -
    Variable evaluation before simulation box is defined
    -
    Cannot evaluate a compute or fix or atom-based value in a variable -before the simulation has been setup.
    -
    Variable evaluation in fix wall gave bad value
    -
    The returned value for epsilon or sigma < 0.0.
    -
    Variable evaluation in region gave bad value
    -
    Variable returned a radius < 0.0.
    -
    Variable for compute ti is invalid style
    -
    Self-explanatory.
    -
    Variable for create_atoms is invalid style
    -
    The variables must be equal-style variables.
    -
    Variable for displace_atoms is invalid style
    -
    It must be an equal-style or atom-style variable.
    -
    Variable for dump every is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for dump image center is invalid style
    -
    Must be an equal-style variable.
    -
    Variable for dump image persp is invalid style
    -
    Must be an equal-style variable.
    -
    Variable for dump image phi is invalid style
    -
    Must be an equal-style variable.
    -
    Variable for dump image theta is invalid style
    -
    Must be an equal-style variable.
    -
    Variable for dump image zoom is invalid style
    -
    Must be an equal-style variable.
    -
    Variable for fix adapt is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix addforce is invalid style
    -
    Self-explanatory.
    -
    Variable for fix aveforce is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix deform is invalid style
    -
    The variable must be an equal-style variable.
    -
    Variable for fix efield is invalid style
    -
    The variable must be an equal- or atom-style variable.
    -
    Variable for fix gravity is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix heat is invalid style
    -
    Only equal-style or atom-style variables can be used.
    -
    Variable for fix indent is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix indent is not equal style
    -
    Only equal-style variables can be used.
    -
    Variable for fix langevin is invalid style
    -
    It must be an equal-style variable.
    -
    Variable for fix move is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix setforce is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix temp/berendsen is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix temp/csld is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix temp/csvr is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix temp/rescale is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix wall is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix wall/reflect is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for fix wall/srd is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for group dynamic is invalid style
    -
    The variable must be an atom-style variable.
    -
    Variable for group is invalid style
    -
    Only atom-style variables can be used.
    -
    Variable for region cylinder is invalid style
    -
    Only equal-style varaibles are allowed.
    -
    Variable for region is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for region is not equal style
    -
    Self-explanatory.
    -
    Variable for region sphere is invalid style
    -
    Only equal-style varaibles are allowed.
    -
    Variable for restart is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for set command is invalid style
    -
    Only atom-style variables can be used.
    -
    Variable for thermo every is invalid style
    -
    Only equal-style variables can be used.
    -
    Variable for velocity set is invalid style
    -
    Only atom-style variables can be used.
    -
    Variable for voronoi radius is not atom style
    -
    Self-explanatory.
    -
    Variable formula compute array is accessed out-of-range
    -
    Self-explanatory.
    -
    Variable formula compute vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Variable formula fix array is accessed out-of-range
    -
    Self-explanatory.
    -
    Variable formula fix vector is accessed out-of-range
    -
    Self-explanatory.
    -
    Variable has circular dependency
    -
    A circular dependency is when variable “a” in used by variable “b” and -variable “b” is also used by varaible “a”. Circular dependencies with -longer chains of dependence are also not allowed.
    -
    Variable name between brackets must be alphanumeric or underscore characters
    -
    Self-explanatory.
    -
    Variable name for compute chunk/atom does not exist
    -
    Self-explanatory.
    -
    Variable name for compute reduce does not exist
    -
    Self-explanatory.
    -
    Variable name for compute ti does not exist
    -
    Self-explanatory.
    -
    Variable name for create_atoms does not exist
    -
    Self-explanatory.
    -
    Variable name for displace_atoms does not exist
    -
    Self-explanatory.
    -
    Variable name for dump every does not exist
    -
    Self-explanatory.
    -
    Variable name for dump image center does not exist
    -
    Self-explanatory.
    -
    Variable name for dump image persp does not exist
    -
    Self-explanatory.
    -
    Variable name for dump image phi does not exist
    -
    Self-explanatory.
    -
    Variable name for dump image theta does not exist
    -
    Self-explanatory.
    -
    Variable name for dump image zoom does not exist
    -
    Self-explanatory.
    -
    Variable name for fix adapt does not exist
    -
    Self-explanatory.
    -
    Variable name for fix addforce does not exist
    -
    Self-explanatory.
    -
    Variable name for fix ave/atom does not exist
    -
    Self-explanatory.
    -
    Variable name for fix ave/chunk does not exist
    -
    Self-explanatory.
    -
    Variable name for fix ave/correlate does not exist
    -
    Self-explanatory.
    -
    Variable name for fix ave/histo does not exist
    -
    Self-explanatory.
    -
    Variable name for fix ave/spatial does not exist
    -
    Self-explanatory.
    -
    Variable name for fix ave/time does not exist
    -
    Self-explanatory.
    -
    Variable name for fix aveforce does not exist
    -
    Self-explanatory.
    -
    Variable name for fix deform does not exist
    -
    Self-explantory.
    -
    Variable name for fix efield does not exist
    -
    Self-explanatory.
    -
    Variable name for fix gravity does not exist
    -
    Self-explanatory.
    -
    Variable name for fix heat does not exist
    -
    Self-explanatory.
    -
    Variable name for fix indent does not exist
    -
    Self-explanatory.
    -
    Variable name for fix langevin does not exist
    -
    Self-explanatory.
    -
    Variable name for fix move does not exist
    -
    Self-explanatory.
    -
    Variable name for fix setforce does not exist
    -
    Self-explanatory.
    -
    Variable name for fix store/state does not exist
    -
    Self-explanatory.
    -
    Variable name for fix temp/berendsen does not exist
    -
    Self-explanatory.
    -
    Variable name for fix temp/csld does not exist
    -
    Self-explanatory.
    -
    Variable name for fix temp/csvr does not exist
    -
    Self-explanatory.
    -
    Variable name for fix temp/rescale does not exist
    -
    Self-explanatory.
    -
    Variable name for fix vector does not exist
    -
    Self-explanatory.
    -
    Variable name for fix wall does not exist
    -
    Self-explanatory.
    -
    Variable name for fix wall/reflect does not exist
    -
    Self-explanatory.
    -
    Variable name for fix wall/srd does not exist
    -
    Self-explanatory.
    -
    Variable name for group does not exist
    -
    Self-explanatory.
    -
    Variable name for group dynamic does not exist
    -
    Self-explanatory.
    -
    Variable name for region cylinder does not exist
    -
    Self-explanatory.
    -
    Variable name for region does not exist
    -
    Self-explanatory.
    -
    Variable name for region sphere does not exist
    -
    Self-explanatory.
    -
    Variable name for restart does not exist
    -
    Self-explanatory.
    -
    Variable name for set command does not exist
    -
    Self-explanatory.
    -
    Variable name for thermo every does not exist
    -
    Self-explanatory.
    -
    Variable name for velocity set does not exist
    -
    Self-explanatory.
    -
    Variable name for voronoi radius does not exist
    -
    Self-explanatory.
    -
    Variable name must be alphanumeric or underscore characters
    -
    Self-explanatory.
    -
    Variable uses atom property that isn’t allocated
    -
    Self-explanatory.
    -
    Velocity command before simulation box is defined
    -
    The velocity command cannot be used before a read_data, read_restart, -or create_box command.
    -
    Velocity command with no atoms existing
    -
    A velocity command has been used, but no atoms yet exist.
    -
    Velocity ramp in z for a 2d problem
    -
    Self-explanatory.
    -
    Velocity rigid used with non-rigid fix-ID
    -
    Self-explanatory.
    -
    Velocity temperature ID does calculate a velocity bias
    -
    The specified compute must compute a bias for temperature.
    -
    Velocity temperature ID does not compute temperature
    -
    The compute ID given to the velocity command must compute -temperature.
    -
    Verlet/split can only currently be used with comm_style brick
    -
    This is a current restriction in LAMMPS.
    -
    Verlet/split does not yet support TIP4P
    -
    This is a current limitation.
    -
    Verlet/split requires 2 partitions
    -
    See the -partition command-line switch.
    -
    Verlet/split requires Rspace partition layout be multiple of Kspace partition layout in each dim
    -
    This is controlled by the processors command.
    -
    Verlet/split requires Rspace partition size be multiple of Kspace partition size
    -
    This is so there is an equal number of Rspace processors for every -Kspace processor.
    -
    Virial was not tallied on needed timestep
    -
    You are using a thermo keyword that requires potentials to -have tallied the virial, but they didn’t on this timestep. See the -variable doc page for ideas on how to make this work.
    -
    Voro++ error: narea and neigh have a different size
    -
    This error is returned by the Voro++ library.
    -
    Wall defined twice in fix wall command
    -
    Self-explanatory.
    -
    Wall defined twice in fix wall/reflect command
    -
    Self-explanatory.
    -
    Wall defined twice in fix wall/srd command
    -
    Self-explanatory.
    -
    Water H epsilon must be 0.0 for pair style lj/cut/tip4p/cut
    -
    This is because LAMMPS does not compute the Lennard-Jones interactions -with these particles for efficiency reasons.
    -
    Water H epsilon must be 0.0 for pair style lj/cut/tip4p/long
    -
    This is because LAMMPS does not compute the Lennard-Jones interactions -with these particles for efficiency reasons.
    -
    Water H epsilon must be 0.0 for pair style lj/long/tip4p/long
    -
    This is because LAMMPS does not compute the Lennard-Jones interactions -with these particles for efficiency reasons.
    -
    World variable count doesn’t match # of partitions
    -
    A world-style variable must specify a number of values equal to the -number of processor partitions.
    -
    Write_data command before simulation box is defined
    -
    Self-explanatory.
    -
    Write_restart command before simulation box is defined
    -
    The write_restart command cannot be used before a read_data, -read_restart, or create_box command.
    -
    Writing to MPI-IO filename when MPIIO package is not installed
    -
    Self-explanatory.
    -
    Zero length rotation vector with displace_atoms
    -
    Self-explanatory.
    -
    Zero length rotation vector with fix move
    -
    Self-explanatory.
    -
    Zero-length lattice orient vector
    -
    Self-explanatory.
    -
    -
    -
    -

    12.5. Warnings:

    -
    -
    Adjusting Coulombic cutoff for MSM, new cutoff = %g
    -
    The adjust/cutoff command is turned on and the Coulombic cutoff has been -adjusted to match the user-specified accuracy.
    -
    Angle atoms missing at step %ld
    -
    One or more of 3 atoms needed to compute a particular angle are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the angle has blown apart and an atom is -too far away.
    -
    Angle style in data file differs from currently defined angle style
    -
    Self-explanatory.
    -
    Atom style in data file differs from currently defined atom style
    -
    Self-explanatory.
    -
    Bond atom missing in box size check
    -
    The 2nd atoms needed to compute a particular bond is missing on this -processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away.
    -
    Bond atom missing in image check
    -
    The 2nd atom in a particular bond is missing on this processor. -Typically this is because the pairwise cutoff is set too short or the -bond has blown apart and an atom is too far away.
    -
    Bond atoms missing at step %ld
    -
    The 2nd atom needed to compute a particular bond is missing on this -processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away.
    -
    Bond style in data file differs from currently defined bond style
    -
    Self-explanatory.
    -
    Bond/angle/dihedral extent > half of periodic box length
    -
    This is a restriction because LAMMPS can be confused about which image -of an atom in the bonded interaction is the correct one to use. -“Extent” in this context means the maximum end-to-end length of the -bond/angle/dihedral. LAMMPS computes this by taking the maximum bond -length, multiplying by the number of bonds in the interaction (e.g. 3 -for a dihedral) and adding a small amount of stretch.
    -
    Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero
    -
    Self-explantory.
    -
    Calling write_dump before a full system init.
    -
    The write_dump command is used before the system has been fully -initialized as part of a ‘run’ or ‘minimize’ command. Not all dump -styles and features are fully supported at this point and thus the -command may fail or produce incomplete or incorrect output. Insert -a “run 0” command, if a full system init is required.
    -
    Cannot count rigid body degrees-of-freedom before bodies are fully initialized
    -
    This means the temperature associated with the rigid bodies may be -incorrect on this timestep.
    -
    Cannot count rigid body degrees-of-freedom before bodies are initialized
    -
    This means the temperature associated with the rigid bodies may be -incorrect on this timestep.
    -
    Cannot include log terms without 1/r terms; setting flagHI to 1
    -
    Self-explanatory.
    -
    Cannot include log terms without 1/r terms; setting flagHI to 1.
    -
    Self-explanatory.
    -
    Charges are set, but coulombic solver is not used
    -
    Self-explanatory.
    -
    Charges did not converge at step %ld: %lg
    -
    Self-explanatory.
    -
    Communication cutoff is too small for SNAP micro load balancing, increased to %lf
    -
    Self-explanatory.
    -
    Compute cna/atom cutoff may be too large to find ghost atom neighbors
    -
    The neighbor cutoff used may not encompass enough ghost atoms -to perform this operation correctly.
    -
    Computing temperature of portions of rigid bodies
    -
    The group defined by the temperature compute does not encompass all -the atoms in one or more rigid bodies, so the change in -degrees-of-freedom for the atoms in those partial rigid bodies will -not be accounted for.
    -
    Create_bonds max distance > minimum neighbor cutoff
    -
    This means atom pairs for some atom types may not be in the neighbor -list and thus no bond can be created between them.
    -
    Delete_atoms cutoff > minimum neighbor cutoff
    -
    This means atom pairs for some atom types may not be in the neighbor -list and thus an atom in that pair cannot be deleted.
    -
    Dihedral atoms missing at step %ld
    -
    One or more of 4 atoms needed to compute a particular dihedral are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the dihedral has blown apart and an atom is -too far away.
    -
    Dihedral problem
    -
    Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry.
    -
    Dihedral problem: %d %ld %d %d %d %d
    -
    Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry.
    -
    Dihedral style in data file differs from currently defined dihedral style
    -
    Self-explanatory.
    -
    Dump dcd/xtc timestamp may be wrong with fix dt/reset
    -
    If the fix changes the timestep, the dump dcd file will not -reflect the change.
    -
    Energy tally does not account for ‘zero yes’
    -
    The energy removed by using the ‘zero yes’ flag is not accounted -for in the energy tally and thus energy conservation cannot be -monitored in this case.
    -
    Estimated error in splitting of dispersion coeffs is %g
    -
    Error is greater than 0.0001 percent.
    -
    Ewald/disp Newton solver failed, using old method to estimate g_ewald
    -
    Self-explanatory. Choosing a different cutoff value may help.
    -
    FENE bond too long
    -
    A FENE bond has stretched dangerously far. It’s interaction strength -will be truncated to attempt to prevent the bond from blowing up.
    -
    FENE bond too long: %ld %d %d %g
    -
    A FENE bond has stretched dangerously far. It’s interaction strength -will be truncated to attempt to prevent the bond from blowing up.
    -
    FENE bond too long: %ld %g
    -
    A FENE bond has stretched dangerously far. It’s interaction strength -will be truncated to attempt to prevent the bond from blowing up.
    -
    Fix SRD walls overlap but fix srd overlap not set
    -
    You likely want to set this in your input script.
    -
    Fix bond/swap will ignore defined angles
    -
    See the doc page for fix bond/swap for more info on this -restriction.
    -
    Fix deposit near setting < possible overlap separation %g
    -
    This test is performed for finite size particles with a diameter, not -for point particles. The near setting is smaller than the particle -diameter which can lead to overlaps.
    -
    Fix evaporate may delete atom with non-zero molecule ID
    -
    This is probably an error, since you should not delete only one atom -of a molecule.
    -
    Fix gcmc using full_energy option
    -
    Fix gcmc has automatically turned on the full_energy option since it -is required for systems like the one specified by the user. User input -included one or more of the following: kspace, triclinic, a hybrid -pair style, an eam pair style, or no “single” function for the pair -style.
    -
    Fix property/atom mol or charge w/out ghost communication
    -
    A model typically needs these properties defined for ghost atoms.
    -
    Fix qeq CG convergence failed (%g) after %d iterations at %ld step
    -
    Self-explanatory.
    -
    Fix qeq has non-zero lower Taper radius cutoff
    -
    Absolute value must be <= 0.01.
    -
    Fix qeq has very low Taper radius cutoff
    -
    Value should typically be >= 5.0.
    -
    Fix qeq/dynamic tolerance may be too small for damped dynamics
    -
    Self-explanatory.
    -
    Fix qeq/fire tolerance may be too small for damped fires
    -
    Self-explanatory.
    -
    Fix rattle should come after all other integration fixes
    -
    This fix is designed to work after all other integration fixes change -atom positions. Thus it should be the last integration fix specified. -If not, it will not satisfy the desired constraints as well as it -otherwise would.
    -
    Fix recenter should come after all other integration fixes
    -
    Other fixes may change the position of the center-of-mass, so -fix recenter should come last.
    -
    Fix srd SRD moves may trigger frequent reneighboring
    -
    This is because the SRD particles may move long distances.
    -
    Fix srd grid size > 1/4 of big particle diameter
    -
    This may cause accuracy problems.
    -
    Fix srd particle moved outside valid domain
    -
    This may indicate a problem with your simulation parameters.
    -
    Fix srd particles may move > big particle diameter
    -
    This may cause accuracy problems.
    -
    Fix srd viscosity < 0.0 due to low SRD density
    -
    This may cause accuracy problems.
    -
    Fix thermal/conductivity comes before fix ave/spatial
    -
    The order of these 2 fixes in your input script is such that fix -thermal/conductivity comes first. If you are using fix ave/spatial to -measure the temperature profile induced by fix viscosity, then this -may cause a glitch in the profile since you are averaging immediately -after swaps have occurred. Flipping the order of the 2 fixes -typically helps.
    -
    Fix viscosity comes before fix ave/spatial
    -
    The order of these 2 fixes in your input script is such that -fix viscosity comes first. If you are using fix ave/spatial -to measure the velocity profile induced by fix viscosity, then -this may cause a glitch in the profile since you are averaging -immediately after swaps have occurred. Flipping the order -of the 2 fixes typically helps.
    -
    Fixes cannot send data in Kokkos communication, switching to classic communication
    -
    This is current restriction with Kokkos.
    -
    For better accuracy use ‘pair_modify table 0’
    -
    The user-specified force accuracy cannot be achieved unless the table -feature is disabled by using ‘pair_modify table 0’.
    -
    Geometric mixing assumed for 1/r^6 coefficients
    -
    Self-explanatory.
    -
    Group for fix_modify temp != fix group
    -
    The fix_modify command is specifying a temperature computation that -computes a temperature on a different group of atoms than the fix -itself operates on. This is probably not what you want to do.
    -
    H matrix size has been exceeded: m_fill=%d H.m=%dn
    -
    This is the size of the matrix.
    -
    Ignoring unknown or incorrect info command flag
    -
    Self-explanatory. An unknown argument was given to the info command. -Compare your input with the documentation.
    -
    Improper atoms missing at step %ld
    -
    One or more of 4 atoms needed to compute a particular improper are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the improper has blown apart and an atom is -too far away.
    -
    Improper problem: %d %ld %d %d %d %d
    -
    Conformation of the 4 listed improper atoms is extreme; you may want -to check your simulation geometry.
    -
    Improper style in data file differs from currently defined improper style
    -
    Self-explanatory.
    -
    Inconsistent image flags
    -
    The image flags for a pair on bonded atoms appear to be inconsistent. -Inconsistent means that when the coordinates of the two atoms are -unwrapped using the image flags, the two atoms are far apart. -Specifically they are further apart than half a periodic box length. -Or they are more than a box length apart in a non-periodic dimension. -This is usually due to the initial data file not having correct image -flags for the 2 atoms in a bond that straddles a periodic boundary. -They should be different by 1 in that case. This is a warning because -inconsistent image flags will not cause problems for dynamics or most -LAMMPS simulations. However they can cause problems when such atoms -are used with the fix rigid or replicate commands. Note that if you -have an infinite periodic crystal with bonds then it is impossible to -have fully consistent image flags, since some bonds will cross -periodic boundaries and connect two atoms with the same image -flag.
    -
    KIM Model does not provide ‘energy’; Potential energy will be zero
    -
    Self-explanatory.
    -
    KIM Model does not provide ‘forces’; Forces will be zero
    -
    Self-explanatory.
    -
    KIM Model does not provide ‘particleEnergy’; energy per atom will be zero
    -
    Self-explanatory.
    -
    KIM Model does not provide ‘particleVirial’; virial per atom will be zero
    -
    Self-explanatory.
    -
    Kspace_modify slab param < 2.0 may cause unphysical behavior
    -
    The kspace_modify slab parameter should be larger to insure periodic -grids padded with empty space do not overlap.
    -
    Less insertions than requested
    -
    The fix pour command was unsuccessful at finding open space -for as many particles as it tried to insert.
    -
    Library error in lammps_gather_atoms
    -
    This library function cannot be used if atom IDs are not defined -or are not consecutively numbered.
    -
    Library error in lammps_scatter_atoms
    -
    This library function cannot be used if atom IDs are not defined or -are not consecutively numbered, or if no atom map is defined. See the -atom_modify command for details about atom maps.
    -
    Lost atoms via change_box: original %ld current %ld
    -
    The command options you have used caused atoms to be lost.
    -
    Lost atoms via displace_atoms: original %ld current %ld
    -
    The command options you have used caused atoms to be lost.
    -
    Lost atoms: original %ld current %ld
    -
    Lost atoms are checked for each time thermo output is done. See the -thermo_modify lost command for options. Lost atoms usually indicate -bad dynamics, e.g. atoms have been blown far out of the simulation -box, or moved futher than one processor’s sub-domain away before -reneighboring.
    -
    MSM mesh too small, increasing to 2 points in each direction
    -
    Self-explanatory.
    -
    Mismatch between velocity and compute groups
    -
    The temperature computation used by the velocity command will not be -on the same group of atoms that velocities are being set for.
    -
    Mixing forced for lj coefficients
    -
    Self-explanatory.
    -
    Molecule attributes do not match system attributes
    -
    An attribute is specified (e.g. diameter, charge) that is -not defined for the specified atom style.
    -
    Molecule has bond topology but no special bond settings
    -
    This means the bonded atoms will not be excluded in pair-wise -interactions.
    -
    Molecule template for create_atoms has multiple molecules
    -
    The create_atoms command will only create molecules of a single type, -i.e. the first molecule in the template.
    -
    Molecule template for fix gcmc has multiple molecules
    -
    The fix gcmc command will only create molecules of a single type, -i.e. the first molecule in the template.
    -
    Molecule template for fix shake has multiple molecules
    -
    The fix shake command will only recoginze molecules of a single -type, i.e. the first molecule in the template.
    -
    More than one compute centro/atom
    -
    It is not efficient to use compute centro/atom more than once.
    -
    More than one compute cluster/atom
    -
    It is not efficient to use compute cluster/atom more than once.
    -
    More than one compute cna/atom defined
    -
    It is not efficient to use compute cna/atom more than once.
    -
    More than one compute contact/atom
    -
    It is not efficient to use compute contact/atom more than once.
    -
    More than one compute coord/atom
    -
    It is not efficient to use compute coord/atom more than once.
    -
    More than one compute damage/atom
    -
    It is not efficient to use compute ke/atom more than once.
    -
    More than one compute dilatation/atom
    -
    Self-explanatory.
    -
    More than one compute erotate/sphere/atom
    -
    It is not efficient to use compute erorate/sphere/atom more than once.
    -
    More than one compute hexorder/atom
    -
    It is not efficient to use compute hexorder/atom more than once.
    -
    More than one compute ke/atom
    -
    It is not efficient to use compute ke/atom more than once.
    -
    More than one compute orientorder/atom
    -
    It is not efficient to use compute orientorder/atom more than once.
    -
    More than one compute plasticity/atom
    -
    Self-explanatory.
    -
    More than one compute sna/atom
    -
    Self-explanatory.
    -
    More than one compute snad/atom
    -
    Self-explanatory.
    -
    More than one compute snav/atom
    -
    Self-explanatory.
    -
    More than one fix poems
    -
    It is not efficient to use fix poems more than once.
    -
    More than one fix rigid
    -
    It is not efficient to use fix rigid more than once.
    -
    Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies
    -
    This is because excluding specific pair interactions also excludes -them from long-range interactions which may not be the desired effect. -The special_bonds command handles this consistently by insuring -excluded (or weighted) 1-2, 1-3, 1-4 interactions are treated -consistently by both the short-range pair style and the long-range -solver. This is not done for exclusions of charged atom pairs via the -neigh_modify exclude command.
    -
    New thermo_style command, previous thermo_modify settings will be lost
    -
    If a thermo_style command is used after a thermo_modify command, the -settings changed by the thermo_modify command will be reset to their -default values. This is because the thermo_modify commmand acts on -the currently defined thermo style, and a thermo_style command creates -a new style.
    -
    No Kspace calculation with verlet/split
    -
    The 2nd partition performs a kspace calculation so the kspace_style -command must be used.
    -
    No automatic unit conversion to XTC file format conventions possible for units lj
    -
    This means no scaling will be performed.
    -
    No fixes defined, atoms won’t move
    -
    If you are not using a fix like nve, nvt, npt then atom velocities and -coordinates will not be updated during timestepping.
    -
    No joints between rigid bodies, use fix rigid instead
    -
    The bodies defined by fix poems are not connected by joints. POEMS -will integrate the body motion, but it would be more efficient to use -fix rigid.
    -
    Not using real units with pair reax
    -
    This is most likely an error, unless you have created your own ReaxFF -parameter file in a different set of units.
    -
    Number of MSM mesh points changed to be a multiple of 2
    -
    MSM requires that the number of grid points in each direction be a multiple -of two and the number of grid points in one or more directions have been -adjusted to meet this requirement.
    -
    OMP_NUM_THREADS environment is not set.
    -
    This environment variable must be set appropriately to use the -USER-OMP package.
    -
    One or more atoms are time integrated more than once
    -
    This is probably an error since you typically do not want to -advance the positions or velocities of an atom more than once -per timestep.
    -
    One or more chunks do not contain all atoms in molecule
    -
    This may not be what you intended.
    -
    One or more dynamic groups may not be updated at correct point in timestep
    -
    If there are other fixes that act immediately after the intitial stage -of time integration within a timestep (i.e. after atoms move), then -the command that sets up the dynamic group should appear after those -fixes. This will insure that dynamic group assignments are made -after all atoms have moved.
    -
    One or more respa levels compute no forces
    -
    This is computationally inefficient.
    -
    Pair COMB charge %.10f with force %.10f hit max barrier
    -
    Something is possibly wrong with your model.
    -
    Pair COMB charge %.10f with force %.10f hit min barrier
    -
    Something is possibly wrong with your model.
    -
    Pair brownian needs newton pair on for momentum conservation
    -
    Self-explanatory.
    -
    Pair dpd needs newton pair on for momentum conservation
    -
    Self-explanatory.
    -
    Pair dsmc: num_of_collisions > number_of_A
    -
    Collision model in DSMC is breaking down.
    -
    Pair dsmc: num_of_collisions > number_of_B
    -
    Collision model in DSMC is breaking down.
    -
    Pair style in data file differs from currently defined pair style
    -
    Self-explanatory.
    -
    Particle deposition was unsuccessful
    -
    The fix deposit command was not able to insert as many atoms as -needed. The requested volume fraction may be too high, or other atoms -may be in the insertion region.
    -
    Proc sub-domain size < neighbor skin, could lead to lost atoms
    -
    The decomposition of the physical domain (likely due to load -balancing) has led to a processor’s sub-domain being smaller than the -neighbor skin in one or more dimensions. Since reneighboring is -triggered by atoms moving the skin distance, this may lead to lost -atoms, if an atom moves all the way across a neighboring processor’s -sub-domain before reneighboring is triggered.
    -
    Reducing PPPM order b/c stencil extends beyond nearest neighbor processor
    -
    This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order.
    -
    Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor
    -
    This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order.
    -
    Reducing PPPMDisp dispersion order b/c stencil extends beyond neighbor processor
    -
    This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order.
    -
    Replacing a fix, but new group != old group
    -
    The ID and style of a fix match for a fix you are changing with a fix -command, but the new group you are specifying does not match the old -group.
    -
    Replicating in a non-periodic dimension
    -
    The parameters for a replicate command will cause a non-periodic -dimension to be replicated; this may cause unwanted behavior.
    -
    Resetting reneighboring criteria during PRD
    -
    A PRD simulation requires that neigh_modify settings be delay = 0, -every = 1, check = yes. Since these settings were not in place, -LAMMPS changed them and will restore them to their original values -after the PRD simulation.
    -
    Resetting reneighboring criteria during TAD
    -
    A TAD simulation requires that neigh_modify settings be delay = 0, -every = 1, check = yes. Since these settings were not in place, -LAMMPS changed them and will restore them to their original values -after the PRD simulation.
    -
    Resetting reneighboring criteria during minimization
    -
    Minimization requires that neigh_modify settings be delay = 0, every = -1, check = yes. Since these settings were not in place, LAMMPS -changed them and will restore them to their original values after the -minimization.
    -
    Restart file used different # of processors
    -
    The restart file was written out by a LAMMPS simulation running on a -different number of processors. Due to round-off, the trajectories of -your restarted simulation may diverge a little more quickly than if -you ran on the same # of processors.
    -
    Restart file used different 3d processor grid
    -
    The restart file was written out by a LAMMPS simulation running on a -different 3d grid of processors. Due to round-off, the trajectories -of your restarted simulation may diverge a little more quickly than if -you ran on the same # of processors.
    -
    Restart file used different boundary settings, using restart file values
    -
    Your input script cannot change these restart file settings.
    -
    Restart file used different newton bond setting, using restart file value
    -
    The restart file value will override the setting in the input script.
    -
    Restart file used different newton pair setting, using input script value
    -
    The input script value will override the setting in the restart file.
    -
    Restrain problem: %d %ld %d %d %d %d
    -
    Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry.
    -
    Running PRD with only one replica
    -
    This is allowed, but you will get no parallel speed-up.
    -
    SRD bin shifting turned on due to small lamda
    -
    This is done to try to preserve accuracy.
    -
    SRD bin size for fix srd differs from user request
    -
    Fix SRD had to adjust the bin size to fit the simulation box. See the -cubic keyword if you want this message to be an error vs warning.
    -
    SRD bins for fix srd are not cubic enough
    -
    The bin shape is not within tolerance of cubic. See the cubic -keyword if you want this message to be an error vs warning.
    -
    SRD particle %d started inside big particle %d on step %ld bounce %d
    -
    See the inside keyword if you want this message to be an error vs -warning.
    -
    SRD particle %d started inside wall %d on step %ld bounce %d
    -
    See the inside keyword if you want this message to be an error vs -warning.
    -
    Shake determinant < 0.0
    -
    The determinant of the quadratic equation being solved for a single -cluster specified by the fix shake command is numerically suspect. LAMMPS -will set it to 0.0 and continue.
    -
    Shell command ‘%s’ failed with error ‘%s’
    -
    Self-explanatory.
    -
    Shell command returned with non-zero status
    -
    This may indicate the shell command did not operate as expected.
    -
    Should not allow rigid bodies to bounce off relecting walls
    -
    LAMMPS allows this, but their dynamics are not computed correctly.
    -
    Should not use fix nve/limit with fix shake or fix rattle
    -
    This will lead to invalid constraint forces in the SHAKE/RATTLE -computation.
    -
    Simulations might be very slow because of large number of structure factors
    -
    Self-explanatory.
    -
    Slab correction not needed for MSM
    -
    Slab correction is intended to be used with Ewald or PPPM and is not needed by MSM.
    -
    System is not charge neutral, net charge = %g
    -
    The total charge on all atoms on the system is not 0.0. -For some KSpace solvers this is only a warning.
    -
    Table inner cutoff >= outer cutoff
    -
    You specified an inner cutoff for a Coulombic table that is longer -than the global cutoff. Probably not what you wanted.
    -
    Temperature for MSST is not for group all
    -
    User-assigned temperature to MSST fix does not compute temperature for -all atoms. Since MSST computes a global pressure, the kinetic energy -contribution from the temperature is assumed to also be for all atoms. -Thus the pressure used by MSST could be inaccurate.
    -
    Temperature for NPT is not for group all
    -
    User-assigned temperature to NPT fix does not compute temperature for -all atoms. Since NPT computes a global pressure, the kinetic energy -contribution from the temperature is assumed to also be for all atoms. -Thus the pressure used by NPT could be inaccurate.
    -
    Temperature for fix modify is not for group all
    -
    The temperature compute is being used with a pressure calculation -which does operate on group all, so this may be inconsistent.
    -
    Temperature for thermo pressure is not for group all
    -
    User-assigned temperature to thermo via the thermo_modify command does -not compute temperature for all atoms. Since thermo computes a global -pressure, the kinetic energy contribution from the temperature is -assumed to also be for all atoms. Thus the pressure printed by thermo -could be inaccurate.
    -
    The fix ave/spatial command has been replaced by the more flexible fix ave/chunk and compute chunk/atom commands – fix ave/spatial will be removed in the summer of 2015
    -
    Self-explanatory.
    -
    The minimizer does not re-orient dipoles when using fix efield
    -
    This means that only the atom coordinates will be minimized, -not the orientation of the dipoles.
    -
    Too many common neighbors in CNA %d times
    -
    More than the maximum # of neighbors was found multiple times. This -was unexpected.
    -
    Too many inner timesteps in fix ttm
    -
    Self-explanatory.
    -
    Too many neighbors in CNA for %d atoms
    -
    More than the maximum # of neighbors was found multiple times. This -was unexpected.
    -
    Triclinic box skew is large
    -
    The displacement in a skewed direction is normally required to be less -than half the box length in that dimension. E.g. the xy tilt must be -between -half and +half of the x box length. You have relaxed the -constraint using the box tilt command, but the warning means that a -LAMMPS simulation may be inefficient as a result.
    -
    Use special bonds = 0,1,1 with bond style fene
    -
    Most FENE models need this setting for the special_bonds command.
    -
    Use special bonds = 0,1,1 with bond style fene/expand
    -
    Most FENE models need this setting for the special_bonds command.
    -
    Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions
    -
    This is likely not what you want to do. The exclusion settings will -eliminate neighbors in the neighbor list, which the manybody potential -needs to calculated its terms correctly.
    -
    Using compute temp/deform with inconsistent fix deform remap option
    -
    Fix nvt/sllod assumes deforming atoms have a velocity profile provided -by “remap v” or “remap none” as a fix deform option.
    -
    Using compute temp/deform with no fix deform defined
    -
    This is probably an error, since it makes little sense to use -compute temp/deform in this case.
    -
    Using fix srd with box deformation but no SRD thermostat
    -
    The deformation will heat the SRD particles so this can -be dangerous.
    -
    Using kspace solver on system with no charge
    -
    Self-explanatory.
    -
    Using largest cut-off for lj/long/dipole/long long long
    -
    Self-explanatory.
    -
    Using largest cutoff for buck/long/coul/long
    -
    Self-exlanatory.
    -
    Using largest cutoff for lj/long/coul/long
    -
    Self-explanatory.
    -
    Using largest cutoff for pair_style lj/long/tip4p/long
    -
    Self-explanatory.
    -
    Using package gpu without any pair style defined
    -
    Self-explanatory.
    -
    Using pair potential shift with pair_modify compute no
    -
    The shift effects will thus not be computed.
    -
    Using pair tail corrections with nonperiodic system
    -
    This is probably a bogus thing to do, since tail corrections are -computed by integrating the density of a periodic system out to -infinity.
    -
    Using pair tail corrections with pair_modify compute no
    -
    The tail corrections will thus not be computed.
    -
    pair style reax is now deprecated and will soon be retired. Users should switch to pair_style reax/c
    -
    Self-explanatory.
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_example.html b/doc/html/Section_example.html deleted file mode 100644 index 593de3184a7fb4ceba97463e314d11db2fe068ec..0000000000000000000000000000000000000000 --- a/doc/html/Section_example.html +++ /dev/null @@ -1,461 +0,0 @@ - - - - - - - - - - - 7. Example problems — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    7. Example problems

    -

    The LAMMPS distribution includes an examples sub-directory with many -sample problems. Many are 2d models that run quickly are are -straightforward to visualize, requiring at most a couple of minutes to -run on a desktop machine. Each problem has an input script (in.*) and -produces a log file (log.*) when it runs. Some use a data file -(data.*) of initial coordinates as additional input. A few sample log -file run on different machines and different numbers of processors are -included in the directories to compare your answers to. E.g. a log -file like log.date.crack.foo.P means the “crack” example was run on P -processors of machine “foo” on that date (i.e. with that version of -LAMMPS).

    -

    Many of the input files have commented-out lines for creating dump -files and image files.

    -

    If you uncomment the dump command in the input script, a -text dump file will be produced, which can be animated by various -visualization programs. It can -also be animated using the xmovie tool described in the Additional Tools section of the LAMMPS documentation.

    -

    If you uncomment the dump image command in the input -script, and assuming you have built LAMMPS with a JPG library, JPG -snapshot images will be produced when the simulation runs. They can -be quickly post-processed into a movie using commands described on the -dump image doc page.

    -

    Animations of many of the examples can be viewed on the Movies section -of the LAMMPS web site.

    -

    There are two kinds of sub-directories in the examples dir. Lowercase -dirs contain one or a few simple, quick-to-run problems. Uppercase -dirs contain up to several complex scripts that illustrate a -particular kind of simulation method or model. Some of these run for -longer times, e.g. to measure a particular quantity.

    -

    Lists of both kinds of directories are given below.

    -
    -
    -

    7.1. Lowercase directories

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    acceleraterun with various acceleration options (OpenMP, GPU, Phi)
    balancedynamic load balancing, 2d system
    bodybody particles, 2d system
    colloidbig colloid particles in a small particle solvent, 2d system
    combmodels using the COMB potential
    coreshellcore/shell model using CORESHELL package
    crackcrack propagation in a 2d solid
    depositdeposit atoms and molecules on a surface
    dipolepoint dipolar particles, 2d system
    dreidingmethanol via Dreiding FF
    eimNaCl using the EIM potential
    ellipseellipsoidal particles in spherical solvent, 2d system
    flowCouette and Poiseuille flow in a 2d channel
    frictionfrictional contact of spherical asperities between 2d surfaces
    hugoniostatHugoniostat shock dynamics
    indentspherical indenter into a 2d solid
    kimuse of potentials in Knowledge Base for Interatomic Models (KIM)
    meamMEAM test for SiC and shear (same as shear examples)
    meltrapid melt of 3d LJ system
    micelleself-assembly of small lipid-like molecules into 2d bilayers
    minenergy minimization of 2d LJ melt
    msstMSST shock dynamics
    nb3buse of nonbonded 3-body harmonic pair style
    nebnudged elastic band (NEB) calculation for barrier finding
    nemdnon-equilibrium MD of 2d sheared system
    obstacleflow around two voids in a 2d channel
    peptidedynamics of a small solvated peptide chain (5-mer)
    periPeridynamic model of cylinder impacted by indenter
    pourpouring of granular particles into a 3d box, then chute flow
    prdparallel replica dynamics of vacancy diffusion in bulk Si
    pythonusing embedded Python in a LAMMPS input script
    qequse of the QEQ package for charge equilibration
    reaxRDX and TATB models using the ReaxFF
    rigidrigid bodies modeled as independent or coupled
    shearsideways shear applied to 2d solid, with and without a void
    snapNVE dynamics for BCC tantalum crystal using SNAP potential
    srdstochastic rotation dynamics (SRD) particles as solvent
    streitzuse of Streitz/Mintmire potential with charge equilibration
    tadtemperature-accelerated dynamics of vacancy diffusion in bulk Si
    vashishtause of the Vashishta potential
    -

    Here is how you can run and visualize one of the sample problems:

    -
    -cd indent
    -cp ../../src/lmp_linux .           # copy LAMMPS executable to this dir
    -lmp_linux -in in.indent            # run the problem
    -
    -

    Running the simulation produces the files dump.indent and -log.lammps. You can visualize the dump file of snapshots with a -variety of 3rd-party tools highlighted on the -Visualization page of the LAMMPS -web site.

    -

    If you uncomment the dump image line(s) in the input -script a series of JPG images will be produced by the run (assuming -you built LAMMPS with JPG support; see Section start 2.2 for details). These can be viewed -individually or turned into a movie or animated by tools like -ImageMagick or QuickTime or various Windows-based tools. See the -dump image doc page for more details. E.g. this -Imagemagick command would create a GIF file suitable for viewing in a -browser.

    -
    -% convert -loop 1 *.jpg foo.gif
    -
    -
    -
    -
    -

    7.2. Uppercase directories

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ASPHEREvarious aspherical particle models, using ellipsoids, rigid bodies, line/triangle particles, etc
    COUPLEexamples of how to use LAMMPS as a library
    DIFFUSEcompute diffusion coefficients via several methods
    ELASTICcompute elastic constants at zero temperature
    ELASTIC_Tcompute elastic constants at finite temperature
    KAPPAcompute thermal conductivity via several methods
    MCusing LAMMPS in a Monte Carlo mode to relax the energy of a system
    USERexamples for USER packages and USER-contributed commands
    VISCOSITYcompute viscosity via several methods
    -

    Nearly all of these directories have README files which give more -details on how to understand and use their contents.

    -

    The USER directory has a large number of sub-directories which -correspond by name to a USER package. They contain scripts that -illustrate how to use the command(s) provided in that package. Many -of the sub-directories have their own README files which give further -instructions. See the Section packages doc -page for more info on specific USER packages.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_history.html b/doc/html/Section_history.html deleted file mode 100644 index a4aec8e07bf46e068813c37189150972e95f9fcb..0000000000000000000000000000000000000000 --- a/doc/html/Section_history.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - - - - - 13. Future and history — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    13. Future and history

    -

    This section lists features we plan to add to LAMMPS, features of -previous versions of LAMMPS, and features of other parallel molecular -dynamics codes our group has distributed.

    - -
    -

    13.1. Coming attractions

    -

    As of summer 2016 we are using the LAMMPS project issue tracker on GitHub for keeping -track of suggested, planned or pending new features. This includes -discussions of how to best implement them, or why they would be -useful. Especially if a planned or proposed feature is non-trivial -to add, e.g. because it requires changes to some of the core -classes of LAMMPS, people planning to contribute a new feature to -LAMMS are encouraged to submit an issue about their planned -implementation this way in order to receive feedback from the -LAMMPS core developers. They will provide suggestions about -the validity of the proposed approach and possible improvements, -pitfalls or alternatives.

    -

    Please see some of the closed issues for examples of how to -suggest code enhancements, submit proposed changes, or report -elated issues and how they are resoved.

    -

    As an alternative to using GitHub, you may e-mail the -core developers or send -an e-mail to the LAMMPS Mail list -if you want to have your suggestion added to the list.

    -
    -
    -
    -

    13.2. Past versions

    -

    LAMMPS development began in the mid 1990s under a cooperative research -& development agreement (CRADA) between two DOE labs (Sandia and LLNL) -and 3 companies (Cray, Bristol Myers Squibb, and Dupont). The goal was -to develop a large-scale parallel classical MD code; the coding effort -was led by Steve Plimpton at Sandia.

    -

    After the CRADA ended, a final F77 version, LAMMPS 99, was -released. As development of LAMMPS continued at Sandia, its memory -management was converted to F90; a final F90 version was released as -LAMMPS 2001.

    -

    The current LAMMPS is a rewrite in C++ and was first publicly released -as an open source code in 2004. It includes many new features beyond -those in LAMMPS 99 or 2001. It also includes features from older -parallel MD codes written at Sandia, namely ParaDyn, Warp, and -GranFlow (see below).

    -

    In late 2006 we began merging new capabilities into LAMMPS that were -developed by Aidan Thompson at Sandia for his MD code GRASP, which has -a parallel framework similar to LAMMPS. Most notably, these have -included many-body potentials - Stillinger-Weber, Tersoff, ReaxFF - -and the associated charge-equilibration routines needed for ReaxFF.

    -

    The History link on the -LAMMPS WWW page gives a timeline of features added to the -C++ open-source version of LAMMPS over the last several years.

    -

    These older codes are available for download from the LAMMPS WWW site, except for Warp & GranFlow which were primarily used -internally. A brief listing of their features is given here.

    -

    LAMMPS 2001

    -
      -
    • F90 + MPI
    • -
    • dynamic memory
    • -
    • spatial-decomposition parallelism
    • -
    • NVE, NVT, NPT, NPH, rRESPA integrators
    • -
    • LJ and Coulombic pairwise force fields
    • -
    • all-atom, united-atom, bead-spring polymer force fields
    • -
    • CHARMM-compatible force fields
    • -
    • class 2 force fields
    • -
    • 3d/2d Ewald & PPPM
    • -
    • various force and temperature constraints
    • -
    • SHAKE
    • -
    • Hessian-free truncated-Newton minimizer
    • -
    • user-defined diagnostics
    • -
    -

    LAMMPS 99

    -
      -
    • F77 + MPI
    • -
    • static memory allocation
    • -
    • spatial-decomposition parallelism
    • -
    • most of the LAMMPS 2001 features with a few exceptions
    • -
    • no 2d Ewald & PPPM
    • -
    • molecular force fields are missing a few CHARMM terms
    • -
    • no SHAKE
    • -
    -

    Warp

    -
      -
    • F90 + MPI
    • -
    • spatial-decomposition parallelism
    • -
    • embedded atom method (EAM) metal potentials + LJ
    • -
    • lattice and grain-boundary atom creation
    • -
    • NVE, NVT integrators
    • -
    • boundary conditions for applying shear stresses
    • -
    • temperature controls for actively sheared systems
    • -
    • per-atom energy and centro-symmetry computation and output
    • -
    -

    ParaDyn

    -
      -
    • F77 + MPI
    • -
    • atom- and force-decomposition parallelism
    • -
    • embedded atom method (EAM) metal potentials
    • -
    • lattice atom creation
    • -
    • NVE, NVT, NPT integrators
    • -
    • all serial DYNAMO features for controls and constraints
    • -
    -

    GranFlow

    -
      -
    • F90 + MPI
    • -
    • spatial-decomposition parallelism
    • -
    • frictional granular potentials
    • -
    • NVE integrator
    • -
    • boundary conditions for granular flow and packing and walls
    • -
    • particle insertion
    • -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_howto.html b/doc/html/Section_howto.html deleted file mode 100644 index 2684ee85934054b2183b7e056c7ad0831bea51ee..0000000000000000000000000000000000000000 --- a/doc/html/Section_howto.html +++ /dev/null @@ -1,2889 +0,0 @@ - - - - - - - - - - - 6. How-to discussions — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    6. How-to discussions

    -

    This section describes how to perform common tasks using LAMMPS.

    - -

    The example input scripts included in the LAMMPS distribution and -highlighted in Section 7 also show how to -setup and run various kinds of simulations.

    -
    -

    6.1. Restarting a simulation

    -

    There are 3 ways to continue a long LAMMPS simulation. Multiple -run commands can be used in the same input script. Each -run will continue from where the previous run left off. Or binary -restart files can be saved to disk using the restart -command. At a later time, these binary files can be read via a -read_restart command in a new script. Or they can -be converted to text data files using the -r command-line switch and read by a -read_data command in a new script.

    -

    Here we give examples of 2 scripts that read either a binary restart -file or a converted data file and then issue a new run command to -continue where the previous run left off. They illustrate what -settings must be made in the new script. Details are discussed in the -documentation for the read_restart and -read_data commands.

    -

    Look at the in.chain input script provided in the bench directory -of the LAMMPS distribution to see the original script that these 2 -scripts are based on. If that script had the line

    -
    restart              50 tmp.restart
    -
    -
    -

    added to it, it would produce 2 binary restart files (tmp.restart.50 -and tmp.restart.100) as it ran.

    -

    This script could be used to read the 1st restart file and re-run the -last 50 timesteps:

    -
    -read_restart        tmp.restart.50
    -
    -
    -neighbor     0.4 bin
    -neigh_modify        every 1 delay 1
    -
    -
    fix          1 all nve
    -fix          2 all langevin 1.0 1.0 10.0 904297
    -
    -
    -
    timestep     0.012
    -
    -
    -
    run          50
    -
    -
    -

    Note that the following commands do not need to be repeated because -their settings are included in the restart file: units, atom_style, -special_bonds, pair_style, bond_style. However these commands do -need to be used, since their settings are not in the restart file: -neighbor, fix, timestep.

    -

    If you actually use this script to perform a restarted run, you will -notice that the thermodynamic data match at step 50 (if you also put a -“thermo 50” command in the original script), but do not match at step -100. This is because the fix langevin command -uses random numbers in a way that does not allow for perfect restarts.

    -

    As an alternate approach, the restart file could be converted to a data -file as follows:

    -
    -lmp_g++ -r tmp.restart.50 tmp.restart.data
    -
    -

    Then, this script could be used to re-run the last 50 steps:

    -
    -units                lj
    -atom_style  bond
    -pair_style  lj/cut 1.12
    -pair_modify shift yes
    -bond_style  fene
    -special_bonds   0.0 1.0 1.0
    -
    -
    -read_data   tmp.restart.data
    -
    -
    -neighbor     0.4 bin
    -neigh_modify        every 1 delay 1
    -
    -
    fix          1 all nve
    -fix          2 all langevin 1.0 1.0 10.0 904297
    -
    -
    -
    timestep     0.012
    -
    -
    -
    -reset_timestep      50
    -run          50
    -
    -

    Note that nearly all the settings specified in the original in.chain -script must be repeated, except the pair_coeff and bond_coeff -commands since the new data file lists the force field coefficients. -Also, the reset_timestep command is used to tell -LAMMPS the current timestep. This value is stored in restart files, -but not in data files.

    -
    -
    -
    -

    6.2. 2d simulations

    -

    Use the dimension command to specify a 2d simulation.

    -

    Make the simulation box periodic in z via the boundary -command. This is the default.

    -

    If using the create box command to define a -simulation box, set the z dimensions narrow, but finite, so that the -create_atoms command will tile the 3d simulation box with a single z -plane of atoms - e.g.

    -
    -create box 1 -10 10 -10 10 -0.25 0.25
    -
    -

    If using the read data command to read in a file of -atom coordinates, set the “zlo zhi” values to be finite but narrow, -similar to the create_box command settings just described. For each -atom in the file, assign a z coordinate so it falls inside the -z-boundaries of the box - e.g. 0.0.

    -

    Use the fix enforce2d command as the last -defined fix to insure that the z-components of velocities and forces -are zeroed out every timestep. The reason to make it the last fix is -so that any forces induced by other fixes will be zeroed out.

    -

    Many of the example input scripts included in the LAMMPS distribution -are for 2d models.

    -
    -

    Note

    -

    Some models in LAMMPS treat particles as finite-size spheres, as -opposed to point particles. In 2d, the particles will still be -spheres, not disks, meaning their moment of inertia will be the same -as in 3d.

    -
    -
    -
    -
    -

    6.3. CHARMM, AMBER, and DREIDING force fields

    -

    A force field has 2 parts: the formulas that define it and the -coefficients used for a particular system. Here we only discuss -formulas implemented in LAMMPS that correspond to formulas commonly -used in the CHARMM, AMBER, and DREIDING force fields. Setting -coefficients is done in the input data file via the -read_data command or in the input script with -commands like pair_coeff or -bond_coeff. See Section 9 -for additional tools that can use CHARMM or AMBER to assign force -field coefficients and convert their output into LAMMPS input.

    -

    See (MacKerell) for a description of the CHARMM force -field. See (Cornell) for a description of the AMBER force -field.

    -

    These style choices compute force field formulas that are consistent -with common options in CHARMM or AMBER. See each command’s -documentation for the formula it computes.

    - -

    DREIDING is a generic force field developed by the Goddard group at Caltech and is useful for -predicting structures and dynamics of organic, biological and -main-group inorganic molecules. The philosophy in DREIDING is to use -general force constants and geometry parameters based on simple -hybridization considerations, rather than individual force constants -and geometric parameters that depend on the particular combinations of -atoms involved in the bond, angle, or torsion terms. DREIDING has an -explicit hydrogen bond term to describe -interactions involving a hydrogen atom on very electronegative atoms -(N, O, F).

    -

    See (Mayo) for a description of the DREIDING force field

    -

    These style choices compute force field formulas that are consistent -with the DREIDING force field. See each command’s -documentation for the formula it computes.

    - -
    -
    -
    -

    6.4. Running multiple simulations from one input script

    -

    This can be done in several ways. See the documentation for -individual commands for more details on how these examples work.

    -

    If “multiple simulations” means continue a previous simulation for -more timesteps, then you simply use the run command -multiple times. For example, this script

    -
    -units lj
    -atom_style atomic
    -read_data data.lj
    -run 10000
    -run 10000
    -run 10000
    -run 10000
    -run 10000
    -
    -

    would run 5 successive simulations of the same system for a total of -50,000 timesteps.

    -

    If you wish to run totally different simulations, one after the other, -the clear command can be used in between them to -re-initialize LAMMPS. For example, this script

    -
    -units lj
    -atom_style atomic
    -read_data data.lj
    -run 10000
    -clear
    -units lj
    -atom_style atomic
    -read_data data.lj.new
    -run 10000
    -
    -

    would run 2 independent simulations, one after the other.

    -

    For large numbers of independent simulations, you can use -variables and the next and -jump commands to loop over the same input script -multiple times with different settings. For example, this -script, named in.polymer

    -
    -variable d index run1 run2 run3 run4 run5 run6 run7 run8
    -shell cd $d
    -read_data data.polymer
    -run 10000
    -shell cd ..
    -clear
    -next d
    -jump in.polymer
    -
    -

    would run 8 simulations in different directories, using a data.polymer -file in each directory. The same concept could be used to run the -same system at 8 different temperatures, using a temperature variable -and storing the output in different log and dump files, for example

    -
    variable a loop 8
    -variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15
    -log log.$a
    -read data.polymer
    -velocity all create $t 352839
    -fix 1 all nvt $t $t 100.0
    -dump 1 all atom 1000 dump.$a
    -run 100000
    -clear
    -next t
    -next a
    -jump in.polymer
    -
    -
    -

    All of the above examples work whether you are running on 1 or -multiple processors, but assumed you are running LAMMPS on a single -partition of processors. LAMMPS can be run on multiple partitions via -the “-partition” command-line switch as described in this section of the manual.

    -

    In the last 2 examples, if LAMMPS were run on 3 partitions, the same -scripts could be used if the “index” and “loop” variables were -replaced with universe-style variables, as described in the -variable command. Also, the “next t” and “next a” -commands would need to be replaced with a single “next a t” command. -With these modifications, the 8 simulations of each script would run -on the 3 partitions one after the other until all were finished. -Initially, 3 simulations would be started simultaneously, one on each -partition. When one finished, that partition would then start -the 4th simulation, and so forth, until all 8 were completed.

    -
    -
    -
    -

    6.5. Multi-replica simulations

    -

    Several commands in LAMMPS run mutli-replica simulations, meaning -that multiple instances (replicas) of your simulation are run -simultaneously, with small amounts of data exchanged between replicas -periodically.

    -

    These are the relevant commands:

    -
      -
    • neb for nudged elastic band calculations
    • -
    • prd for parallel replica dynamics
    • -
    • tad for temperature accelerated dynamics
    • -
    • temper for parallel tempering
    • -
    • fix pimd for path-integral molecular dynamics (PIMD)
    • -
    -

    NEB is a method for finding transition states and barrier energies. -PRD and TAD are methods for performing accelerated dynamics to find -and perform infrequent events. Parallel tempering or replica exchange -runs different replicas at a series of temperature to facilitate -rare-event sampling.

    -

    These commands can only be used if LAMMPS was built with the REPLICA -package. See the Making LAMMPS section -for more info on packages.

    -

    PIMD runs different replicas whose individual particles are coupled -together by springs to model a system or ring-polymers.

    -

    This commands can only be used if LAMMPS was built with the USER-MISC -package. See the Making LAMMPS section -for more info on packages.

    -

    In all these cases, you must run with one or more processors per -replica. The processors assigned to each replica are determined at -run-time by using the -partition command-line switch to launch LAMMPS on multiple -partitions, which in this context are the same as replicas. E.g. -these commands:

    -
    -mpirun -np 16 lmp_linux -partition 8x2 -in in.temper
    -mpirun -np 8 lmp_linux -partition 8x1 -in in.neb
    -
    -

    would each run 8 replicas, on either 16 or 8 processors. Note the use -of the -in command-line switch to specify -the input script which is required when running in multi-replica mode.

    -

    Also note that with MPI installed on a machine (e.g. your desktop), -you can run on more (virtual) processors than you have physical -processors. Thus the above commands could be run on a -single-processor (or few-processor) desktop so that you can run -a multi-replica simulation on more replicas than you have -physical processors.

    -
    -
    -
    -

    6.6. Granular models

    -

    Granular system are composed of spherical particles with a diameter, -as opposed to point particles. This means they have an angular -velocity and torque can be imparted to them to cause them to rotate.

    -

    To run a simulation of a granular model, you will want to use -the following commands:

    - -

    This compute

    - -

    calculates rotational kinetic energy which can be output with thermodynamic info.

    -

    Use one of these 3 pair potentials, which compute forces and torques -between interacting pairs of particles:

    - -

    These commands implement fix options specific to granular systems:

    - -

    The fix style freeze zeroes both the force and torque of frozen -atoms, and should be used for granular system instead of the fix style -setforce.

    -

    For computational efficiency, you can eliminate needless pairwise -computations between frozen atoms by using this command:

    - -
    -
    -
    -

    6.7. TIP3P water model

    -

    The TIP3P water model as implemented in CHARMM -(MacKerell) specifies a 3-site rigid water molecule with -charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the fix shake command can be used to hold -the two O-H bonds and the H-O-H angle rigid. A bond style of -harmonic and an angle style of harmonic or charmm should also be -used.

    -

    These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid TIP3P-CHARMM model with a -cutoff. The K values can be used if a flexible TIP3P model (without -fix shake) is desired. If the LJ epsilon and sigma for HH and OH are -set to 0.0, it corresponds to the original 1983 TIP3P model -(Jorgensen).

    -
    -
    O mass = 15.9994
    -
    H mass = 1.008
    -
    O charge = -0.834
    -
    H charge = 0.417
    -
    LJ epsilon of OO = 0.1521
    -
    LJ sigma of OO = 3.1507
    -
    LJ epsilon of HH = 0.0460
    -
    LJ sigma of HH = 0.4000
    -
    LJ epsilon of OH = 0.0836
    -
    LJ sigma of OH = 1.7753
    -
    K of OH bond = 450
    -
    r0 of OH bond = 0.9572
    -
    K of HOH angle = 55
    -
    theta of HOH angle = 104.52
    -

    -
    -

    These are the parameters to use for TIP3P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS), see (Price) for -details:

    -
    -
    O mass = 15.9994
    -
    H mass = 1.008
    -
    O charge = -0.830
    -
    H charge = 0.415
    -
    LJ epsilon of OO = 0.102
    -
    LJ sigma of OO = 3.188
    -
    LJ epsilon, sigma of OH, HH = 0.0
    -
    K of OH bond = 450
    -
    r0 of OH bond = 0.9572
    -
    K of HOH angle = 55
    -
    theta of HOH angle = 104.52
    -

    -
    -

    Wikipedia also has a nice article on water models.

    -
    -
    -
    -

    6.8. TIP4P water model

    -

    The four-point TIP4P rigid water model extends the traditional -three-point TIP3P model by adding an additional site, usually -massless, where the charge associated with the oxygen atom is placed. -This site M is located at a fixed distance away from the oxygen along -the bisector of the HOH bond angle. A bond style of harmonic and an -angle style of harmonic or charmm should also be used.

    -

    A TIP4P model is run with LAMMPS using either this command -for a cutoff model:

    -

    pair_style lj/cut/tip4p/cut

    -

    or these two commands for a long-range model:

    - -

    For both models, the bond lengths and bond angles should be held fixed -using the fix shake command.

    -

    These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid TIP4P model with a cutoff -(Jorgensen). Note that the OM distance is specified in -the pair_style command, not as part of the pair -coefficients.

    -
    -
    O mass = 15.9994
    -
    H mass = 1.008
    -
    O charge = -1.040
    -
    H charge = 0.520
    -
    r0 of OH bond = 0.9572
    -
    theta of HOH angle = 104.52
    -
    OM distance = 0.15
    -
    LJ epsilon of O-O = 0.1550
    -
    LJ sigma of O-O = 3.1536
    -
    LJ epsilon, sigma of OH, HH = 0.0
    -
    Coulombic cutoff = 8.5
    -

    -
    -

    For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); -http://dx.doi.org/10.1063/1.1931662) these values can be used:

    -
    -
    O mass = 15.9994
    -
    H mass = 1.008
    -
    O charge = -1.1794
    -
    H charge = 0.5897
    -
    r0 of OH bond = 0.9572
    -
    theta of HOH angle = 104.52
    -
    OM distance = 0.1577
    -
    LJ epsilon of O-O = 0.21084
    -
    LJ sigma of O-O = 3.1668
    -
    LJ epsilon, sigma of OH, HH = 0.0
    -
    Coulombic cutoff = 8.5
    -

    -
    -

    For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); -http://dx.doi.org/10.1063/1.2121687), these values can be used:

    -
    -
    O mass = 15.9994
    -
    H mass = 1.008
    -
    O charge = -1.1128
    -
    H charge = 0.5564
    -
    r0 of OH bond = 0.9572
    -
    theta of HOH angle = 104.52
    -
    OM distance = 0.1546
    -
    LJ epsilon of O-O = 0.1852
    -
    LJ sigma of O-O = 3.1589
    -
    LJ epsilon, sigma of OH, HH = 0.0
    -
    Coulombic cutoff = 8.5
    -

    -
    -

    These are the parameters to use for TIP4P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS):

    -
    -
    O mass = 15.9994
    -
    H mass = 1.008
    -
    O charge = -1.0484
    -
    H charge = 0.5242
    -
    r0 of OH bond = 0.9572
    -
    theta of HOH angle = 104.52
    -
    OM distance = 0.1250
    -
    LJ epsilon of O-O = 0.16275
    -
    LJ sigma of O-O = 3.16435
    -
    LJ epsilon, sigma of OH, HH = 0.0
    -

    -
    -

    Note that the when using the TIP4P pair style, the neighobr list -cutoff for Coulomb interactions is effectively extended by a distance -2 * (OM distance), to account for the offset distance of the -fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb -cutoff + 2*(OM distance), to shrink the size of the neighbor list. -This leads to slightly larger cost for the long-range calculation, so -you can test the trade-off for your model. The OM distance and the LJ -and Coulombic cutoffs are set in the pair_style lj/cut/tip4p/long command.

    -

    Wikipedia also has a nice article on water models.

    -
    -
    -
    -

    6.9. SPC water model

    -

    The SPC water model specifies a 3-site rigid water molecule with -charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the fix shake command can be used to hold -the two O-H bonds and the H-O-H angle rigid. A bond style of -harmonic and an angle style of harmonic or charmm should also be -used.

    -

    These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid SPC model.

    -
    -
    O mass = 15.9994
    -
    H mass = 1.008
    -
    O charge = -0.820
    -
    H charge = 0.410
    -
    LJ epsilon of OO = 0.1553
    -
    LJ sigma of OO = 3.166
    -
    LJ epsilon, sigma of OH, HH = 0.0
    -
    r0 of OH bond = 1.0
    -
    theta of HOH angle = 109.47
    -

    -
    -

    Note that as originally proposed, the SPC model was run with a 9 -Angstrom cutoff for both LJ and Coulommbic terms. It can also be used -with long-range Coulombics (Ewald or PPPM in LAMMPS), without changing -any of the parameters above, though it becomes a different model in -that mode of usage.

    -

    The SPC/E (extended) water model is the same, except -the partial charge assignemnts change:

    -
    -
    O charge = -0.8476
    -
    H charge = 0.4238
    -

    -
    -

    See the (Berendsen) reference for more details on both -the SPC and SPC/E models.

    -

    Wikipedia also has a nice article on water models.

    -
    -
    -
    -

    6.10. Coupling LAMMPS to other codes

    -

    LAMMPS is designed to allow it to be coupled to other codes. For -example, a quantum mechanics code might compute forces on a subset of -atoms and pass those forces to LAMMPS. Or a continuum finite element -(FE) simulation might use atom positions as boundary conditions on FE -nodal points, compute a FE solution, and return interpolated forces on -MD atoms.

    -

    LAMMPS can be coupled to other codes in at least 3 ways. Each has -advantages and disadvantages, which you’ll have to think about in the -context of your application.

    -

    (1) Define a new fix command that calls the other code. In -this scenario, LAMMPS is the driver code. During its timestepping, -the fix is invoked, and can make library calls to the other code, -which has been linked to LAMMPS as a library. This is the way the -POEMS package that performs constrained rigid-body motion on -groups of atoms is hooked to LAMMPS. See the -fix poems command for more details. See this section of the documentation for info on how to add -a new fix to LAMMPS.

    -

    (2) Define a new LAMMPS command that calls the other code. This is -conceptually similar to method (1), but in this case LAMMPS and the -other code are on a more equal footing. Note that now the other code -is not called during the timestepping of a LAMMPS run, but between -runs. The LAMMPS input script can be used to alternate LAMMPS runs -with calls to the other code, invoked via the new command. The -run command facilitates this with its every option, which -makes it easy to run a few steps, invoke the command, run a few steps, -invoke the command, etc.

    -

    In this scenario, the other code can be called as a library, as in -(1), or it could be a stand-alone code, invoked by a system() call -made by the command (assuming your parallel machine allows one or more -processors to start up another program). In the latter case the -stand-alone code could communicate with LAMMPS thru files that the -command writes and reads.

    -

    See Section 10 of the documentation for how -to add a new command to LAMMPS.

    -

    (3) Use LAMMPS as a library called by another code. In this case the -other code is the driver and calls LAMMPS as needed. Or a wrapper -code could link and call both LAMMPS and another code as libraries. -Again, the run command has options that allow it to be -invoked with minimal overhead (no setup or clean-up) if you wish to do -multiple short runs, driven by another program.

    -

    Examples of driver codes that call LAMMPS as a library are included in -the examples/COUPLE directory of the LAMMPS distribution; see -examples/COUPLE/README for more details:

    -
      -
    • simple: simple driver programs in C++ and C which invoke LAMMPS as a -library
    • -
    • lammps_quest: coupling of LAMMPS and Quest, to run classical -MD with quantum forces calculated by a density functional code
    • -
    • lammps_spparks: coupling of LAMMPS and SPPARKS, to couple -a kinetic Monte Carlo model for grain growth using MD to calculate -strain induced across grain boundaries
    • -
    -

    This section of the documentation -describes how to build LAMMPS as a library. Once this is done, you -can interface with LAMMPS either via C++, C, Fortran, or Python (or -any other language that supports a vanilla C-like interface). For -example, from C++ you could create one (or more) “instances” of -LAMMPS, pass it an input script to process, or execute individual -commands, all by invoking the correct class methods in LAMMPS. From C -or Fortran you can make function calls to do the same things. See -Section 11 of the manual for a description -of the Python wrapper provided with LAMMPS that operates through the -LAMMPS library interface.

    -

    The files src/library.cpp and library.h contain the C-style interface -to LAMMPS. See Section 6.19 of the -manual for a description of the interface and how to extend it for -your needs.

    -

    Note that the lammps_open() function that creates an instance of -LAMMPS takes an MPI communicator as an argument. This means that -instance of LAMMPS will run on the set of processors in the -communicator. Thus the calling code can run LAMMPS on all or a subset -of processors. For example, a wrapper script might decide to -alternate between LAMMPS and another code, allowing them both to run -on all the processors. Or it might allocate half the processors to -LAMMPS and half to the other code and run both codes simultaneously -before syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations.

    -
    -
    -
    -

    6.11. Visualizing LAMMPS snapshots

    -

    LAMMPS itself does not do visualization, but snapshots from LAMMPS -simulations can be visualized (and analyzed) in a variety of ways.

    -

    LAMMPS snapshots are created by the dump command which can -create files in several formats. The native LAMMPS dump format is a -text file (see “dump atom” or “dump custom”) which can be visualized -by the xmovie program, included with the -LAMMPS package. This produces simple, fast 2d projections of 3d -systems, and can be useful for rapid debugging of simulation geometry -and atom trajectories.

    -

    Several programs included with LAMMPS as auxiliary tools can convert -native LAMMPS dump files to other formats. See the -Section 9 doc page for details. The first is -the ch2lmp tool, which contains a -lammps2pdb Perl script which converts LAMMPS dump files into PDB -files. The second is the lmp2arc tool which -converts LAMMPS dump files into Accelrys’ Insight MD program files. -The third is the lmp2cfg tool which converts -LAMMPS dump files into CFG files which can be read into the -AtomEye visualizer.

    -

    A Python-based toolkit distributed by our group can read native LAMMPS -dump files, including custom dump files with additional columns of -user-specified atom information, and convert them to various formats -or pipe them into visualization software directly. See the Pizza.py WWW site for details. Specifically, Pizza.py can convert -LAMMPS dump files into PDB, XYZ, Ensight, and VTK formats. -Pizza.py can pipe LAMMPS dump files directly into the Raster3d and -RasMol visualization programs. Pizza.py has tools that do interactive -3d OpenGL visualization and one that creates SVG images of dump file -snapshots.

    -

    LAMMPS can create XYZ files directly (via “dump xyz”) which is a -simple text-based file format used by many visualization programs -including VMD.

    -

    LAMMPS can create DCD files directly (via “dump dcd”) which can be -read by VMD in conjunction with a CHARMM PSF file. Using this -form of output avoids the need to convert LAMMPS snapshots to PDB -files. See the dump command for more information on DCD -files.

    -

    LAMMPS can create XTC files directly (via “dump xtc”) which is GROMACS -file format which can also be read by VMD for visualization. -See the dump command for more information on XTC files.

    -
    -
    -
    -

    6.12. Triclinic (non-orthogonal) simulation boxes

    -

    By default, LAMMPS uses an orthogonal simulation box to encompass the -particles. The boundary command sets the boundary -conditions of the box (periodic, non-periodic, etc). The orthogonal -box has its “origin” at (xlo,ylo,zlo) and is defined by 3 edge vectors -starting from the origin given by a = (xhi-xlo,0,0); b = -(0,yhi-ylo,0); c = (0,0,zhi-zlo). The 6 parameters -(xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box -is created, e.g. by the create_box or -read_data or read_restart -commands. Additionally, LAMMPS defines box size parameters lx,ly,lz -where lx = xhi-xlo, and similarly in the y and z dimensions. The 6 -parameters, as well as lx,ly,lz, can be output via the thermo_style custom command.

    -

    LAMMPS also allows simulations to be performed in triclinic -(non-orthogonal) simulation boxes shaped as a parallelepiped with -triclinic symmetry. The parallelepiped has its “origin” at -(xlo,ylo,zlo) and is defined by 3 edge vectors starting from the -origin given by a = (xhi-xlo,0,0); b = (xy,yhi-ylo,0); c = -(xz,yz,zhi-zlo). xy,xz,yz can be 0.0 or positive or negative values -and are called “tilt factors” because they are the amount of -displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. In LAMMPS the triclinic -simulation box edge vectors a, b, and c cannot be arbitrary -vectors. As indicated, a must lie on the positive x axis. b must -lie in the xy plane, with strictly positive y component. c may have -any orientation with strictly positive z component. The requirement -that a, b, and c have strictly positive x, y, and z components, -respectively, ensures that a, b, and c form a complete -right-handed basis. These restrictions impose no loss of generality, -since it is possible to rotate/invert any set of 3 crystal basis -vectors so that they conform to the restrictions.

    -

    For example, assume that the 3 vectors A,B,C are the edge -vectors of a general parallelepiped, where there is no restriction on -A,B,C other than they form a complete right-handed basis i.e. -A x B . C > 0. The equivalent LAMMPS a,b,c are a linear -rotation of A, B, and C and can be computed as follows:

    -_images/transform.jpg -

    where A = | A | indicates the scalar length of A. The hat symbol (^) -indicates the corresponding unit vector. beta and gamma are angles -between the vectors described below. Note that by construction, -a, b, and c have strictly positive x, y, and z components, respectively. -If it should happen that -A, B, and C form a left-handed basis, then the above equations -are not valid for c. In this case, it is necessary -to first apply an inversion. This can be achieved -by interchanging two basis vectors or by changing the sign of one of them.

    -

    For consistency, the same rotation/inversion applied to the basis vectors -must also be applied to atom positions, velocities, -and any other vector quantities. -This can be conveniently achieved by first converting to -fractional coordinates in the -old basis and then converting to distance coordinates in the new basis. -The transformation is given by the following equation:

    -_images/rotate.jpg -

    where V is the volume of the box, X is the original vector quantity and -x is the vector in the LAMMPS basis.

    -

    There is no requirement that a triclinic box be periodic in any -dimension, though it typically should be in at least the 2nd dimension -of the tilt (y in xy) if you want to enforce a shift in periodic -boundary conditions across that boundary. Some commands that work -with triclinic boxes, e.g. the fix deform and fix npt commands, require periodicity or non-shrink-wrap -boundary conditions in specific dimensions. See the command doc pages -for details.

    -

    The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the -time the simluation box is created. This happens in one of 3 ways. -If the create_box command is used with a region of -style prism, then a triclinic box is setup. See the -region command for details. If the -read_data command is used to define the simulation -box, and the header of the data file contains a line with the “xy xz -yz” keyword, then a triclinic box is setup. See the -read_data command for details. Finally, if the -read_restart command reads a restart file which -was written from a simulation using a triclinic box, then a triclinic -box will be setup for the restarted simulation.

    -

    Note that you can define a triclinic box with all 3 tilt factors = -0.0, so that it is initially orthogonal. This is necessary if the box -will become non-orthogonal, e.g. due to the fix npt or -fix deform commands. Alternatively, you can use the -change_box command to convert a simulation box from -orthogonal to triclinic and vice versa.

    -

    As with orthogonal boxes, LAMMPS defines triclinic box size parameters -lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. -The 9 parameters, as well as lx,ly,lz, can be output via the -thermo_style custom command.

    -

    To avoid extremely tilted boxes (which would be computationally -inefficient), LAMMPS normally requires that no tilt factor can skew -the box more than half the distance of the parallel box length, which -is the 1st dimension in the tilt factor (x for xz). This is required -both when the simulation box is created, e.g. via the -create_box or read_data commands, -as well as when the box shape changes dynamically during a simulation, -e.g. via the fix deform or fix npt -commands.

    -

    For example, if xlo = 2 and xhi = 12, then the x box length is 10 and -the xy tilt factor must be between -5 and 5. Similarly, both xz and -yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is -not a limitation, since if the maximum tilt factor is 5 (as in this -example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are geometrically all equivalent. If the box tilt exceeds this -limit during a dynamics run (e.g. via the fix deform -command), then the box is “flipped” to an equivalent shape with a tilt -factor within the bounds, so the run can continue. See the fix deform doc page for further details.

    -

    One exception to this rule is if the 1st dimension in the tilt -factor (x for xy) is non-periodic. In that case, the limits on the -tilt factor are not enforced, since flipping the box in that dimension -does not change the atom positions due to non-periodicity. In this -mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient, due to the highly skewed simulation box.

    -

    The limitation on not creating a simulation box with a tilt factor -skewing the box more than half the distance of the parallel box length -can be overridden via the box command. Setting the tilt -keyword to large allows any tilt factors to be specified.

    -

    Box flips that may occur using the fix deform or -fix npt commands can be turned off using the flip no -option with either of the commands.

    -

    Note that if a simulation box has a large tilt factor, LAMMPS will run -less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor’s irregular-shaped sub-domain. -For extreme values of tilt, LAMMPS may also lose atoms and generate an -error.

    -

    Triclinic crystal structures are often defined using three lattice -constants a, b, and c, and three angles alpha, beta and -gamma. Note that in this nomenclature, the a, b, and c lattice -constants are the scalar lengths of the edge vectors a, b, and c -defined above. The relationship between these 6 quantities -(a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) = -(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows:

    -_images/box.jpg -

    The inverse relationship can be written as follows:

    -_images/box_inverse.jpg -

    The values of a, b, c , alpha, beta , and gamma can be printed -out or accessed by computes using the -thermo_style custom keywords -cella, cellb, cellc, cellalpha, cellbeta, cellgamma, -respectively.

    -

    As discussed on the dump command doc page, when the BOX -BOUNDS for a snapshot is written to a dump file for a triclinic box, -an orthogonal bounding box which encloses the triclinic simulation box -is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic -box, formatted as follows:

    -
    -ITEM: BOX BOUNDS xy xz yz
    -xlo_bound xhi_bound xy
    -ylo_bound yhi_bound xz
    -zlo_bound zhi_bound yz
    -
    -

    This bounding box is convenient for many visualization programs and is -calculated from the 9 triclinic box parameters -(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows:

    -
    -xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz)
    -xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz)
    -ylo_bound = ylo + MIN(0.0,yz)
    -yhi_bound = yhi + MAX(0.0,yz)
    -zlo_bound = zlo
    -zhi_bound = zhi
    -
    -

    These formulas can be inverted if you need to convert the bounding box -back into the triclinic box parameters, e.g. xlo = xlo_bound - -MIN(0.0,xy,xz,xy+xz).

    -

    One use of triclinic simulation boxes is to model solid-state crystals -with triclinic symmetry. The lattice command can be -used with non-orthogonal basis vectors to define a lattice that will -tile a triclinic simulation box via the -create_atoms command.

    -

    A second use is to run Parinello-Rahman dyanamics via the fix npt command, which will adjust the xy, xz, yz tilt -factors to compensate for off-diagonal components of the pressure -tensor. The analalog for an energy minimization is -the fix box/relax command.

    -

    A third use is to shear a bulk solid to study the response of the -material. The fix deform command can be used for -this purpose. It allows dynamic control of the xy, xz, yz tilt -factors as a simulation runs. This is discussed in the next section -on non-equilibrium MD (NEMD) simulations.

    -
    -
    -
    -

    6.13. NEMD simulations

    -

    Non-equilibrium molecular dynamics or NEMD simulations are typically -used to measure a fluid’s rheological properties such as viscosity. -In LAMMPS, such simulations can be performed by first setting up a -non-orthogonal simulation box (see the preceding Howto section).

    -

    A shear strain can be applied to the simulation box at a desired -strain rate by using the fix deform command. The -fix nvt/sllod command can be used to thermostat -the sheared fluid and integrate the SLLOD equations of motion for the -system. Fix nvt/sllod uses compute temp/deform to compute a thermal temperature -by subtracting out the streaming velocity of the shearing atoms. The -velocity profile or other properties of the fluid can be monitored via -the fix ave/chunk command.

    -

    As discussed in the previous section on non-orthogonal simulation -boxes, the amount of tilt or skew that can be applied is limited by -LAMMPS for computational efficiency to be 1/2 of the parallel box -length. However, fix deform can continuously strain -a box by an arbitrary amount. As discussed in the fix deform command, when the tilt value reaches a limit, -the box is flipped to the opposite limit which is an equivalent tiling -of periodic space. The strain rate can then continue to change as -before. In a long NEMD simulation these box re-shaping events may -occur many times.

    -

    In a NEMD simulation, the “remap” option of fix deform should be set to “remap v”, since that is what -fix nvt/sllod assumes to generate a velocity -profile consistent with the applied shear strain rate.

    -

    An alternative method for calculating viscosities is provided via the -fix viscosity command.

    -
    -
    -
    -

    6.14. Finite-size spherical and aspherical particles

    -

    Typical MD models treat atoms or particles as point masses. Sometimes -it is desirable to have a model with finite-size particles such as -spheroids or ellipsoids or generalized aspherical bodies. The -difference is that such particles have a moment of inertia, rotational -energy, and angular momentum. Rotation is induced by torque coming -from interactions with other particles.

    -

    LAMMPS has several options for running simulations with these kinds of -particles. The following aspects are discussed in turn:

    -
      -
    • atom styles
    • -
    • pair potentials
    • -
    • time integration
    • -
    • computes, thermodynamics, and dump output
    • -
    • rigid bodies composed of finite-size particles
    • -
    -

    Example input scripts for these kinds of models are in the body, -colloid, dipole, ellipse, line, peri, pour, and tri directories of the -examples directory in the LAMMPS distribution.

    -
    -

    6.14.1. Atom styles

    -

    There are several atom styles that allow for -definition of finite-size particles: sphere, dipole, ellipsoid, line, -tri, peri, and body.

    -

    The sphere style defines particles that are spheriods and each -particle can have a unique diameter and mass (or density). These -particles store an angular velocity (omega) and can be acted upon by -torque. The “set” command can be used to modify the diameter and mass -of individual particles, after then are created.

    -

    The dipole style does not actually define finite-size particles, but -is often used in conjunction with spherical particles, via a command -like

    -
    -atom_style hybrid sphere dipole
    -
    -

    This is because when dipoles interact with each other, they induce -torques, and a particle must be finite-size (i.e. have a moment of -inertia) in order to respond and rotate. See the atom_style dipole command for details. The “set” command can be -used to modify the orientation and length of the dipole moment of -individual particles, after then are created.

    -

    The ellipsoid style defines particles that are ellipsoids and thus can -be aspherical. Each particle has a shape, specified by 3 diameters, -and mass (or density). These particles store an angular momentum and -their orientation (quaternion), and can be acted upon by torque. They -do not store an angular velocity (omega), which can be in a different -direction than angular momentum, rather they compute it as needed. -The “set” command can be used to modify the diameter, orientation, and -mass of individual particles, after then are created. It also has a -brief explanation of what quaternions are.

    -

    The line style defines line segment particles with two end points and -a mass (or density). They can be used in 2d simulations, and they can -be joined together to form rigid bodies which represent arbitrary -polygons.

    -

    The tri style defines triangular particles with three corner points -and a mass (or density). They can be used in 3d simulations, and they -can be joined together to form rigid bodies which represent arbitrary -particles with a triangulated surface.

    -

    The peri style is used with Peridynamic models and -defines particles as having a volume, that is used internally in the -pair_style peri potentials.

    -

    The body style allows for definition of particles which can represent -complex entities, such as surface meshes of discrete points, -collections of sub-particles, deformable objects, etc. The body style -is discussed in more detail on the body doc page.

    -

    Note that if one of these atom styles is used (or multiple styles via -the atom_style hybrid command), not all particles in -the system are required to be finite-size or aspherical.

    -

    For example, in the ellipsoid style, if the 3 shape parameters are set -to the same value, the particle will be a sphere rather than an -ellipsoid. If the 3 shape parameters are all set to 0.0 or if the -diameter is set to 0.0, it will be a point particle. In the line or -tri style, if the lineflag or triflag is specified as 0, then it -will be a point particle.

    -

    Some of the pair styles used to compute pairwise interactions between -finite-size particles also compute the correct interaction with point -particles as well, e.g. the interaction between a point particle and a -finite-size particle or between two point particles. If necessary, -pair_style hybrid can be used to insure the correct -interactions are computed for the appropriate style of interactions. -Likewise, using groups to partition particles (ellipsoids versus -spheres versus point particles) will allow you to use the appropriate -time integrators and temperature computations for each class of -particles. See the doc pages for various commands for details.

    -

    Also note that for 2d simulations, atom styles sphere -and ellipsoid still use 3d particles, rather than as circular disks or -ellipses. This means they have the same moment of inertia as the 3d -object. When temperature is computed, the correct degrees of freedom -are used for rotation in a 2d versus 3d system.

    -
    -
    -

    6.14.2. Pair potentials

    -

    When a system with finite-size particles is defined, the particles -will only rotate and experience torque if the force field computes -such interactions. These are the various pair styles that generate torque:

    - -

    The granular pair styles are used with spherical particles. The -dipole pair style is used with the dipole atom style, which could be -applied to spherical or ellipsoidal particles. The GayBerne and -REsquared potentials require ellipsoidal particles, though they will -also work if the 3 shape parameters are the same (a sphere). The -Brownian and lubrication potentials are used with spherical particles. -The line, tri, and body potentials are used with line segment, -triangular, and body particles respectively.

    -
    -
    -

    6.14.3. Time integration

    -

    There are several fixes that perform time integration on finite-size -spherical particles, meaning the integrators update the rotational -orientation and angular velocity or angular momentum of the particles:

    - -

    Likewise, there are 3 fixes that perform time integration on -ellipsoidal particles:

    - -

    The advantage of these fixes is that those which thermostat the -particles include the rotational degrees of freedom in the temperature -calculation and thermostatting. The fix langevin -command can also be used with its omgea or angmom options to -thermostat the rotational degrees of freedom for spherical or -ellipsoidal particles. Other thermostatting fixes only operate on the -translational kinetic energy of finite-size particles.

    -

    These fixes perform constant NVE time integration on line segment, -triangular, and body particles:

    - -

    Note that for mixtures of point and finite-size particles, these -integration fixes can only be used with groups which -contain finite-size particles.

    -
    -
    -

    6.14.4. Computes, thermodynamics, and dump output

    -

    There are several computes that calculate the temperature or -rotational energy of spherical or ellipsoidal particles:

    - -

    These include rotational degrees of freedom in their computation. If -you wish the thermodynamic output of temperature or pressure to use -one of these computes (e.g. for a system entirely composed of -finite-size particles), then the compute can be defined and the -thermo_modify command used. Note that by default -thermodynamic quantities will be calculated with a temperature that -only includes translational degrees of freedom. See the -thermo_style command for details.

    -

    These commands can be used to output various attributes of finite-size -particles:

    - -

    Attributes include the dipole moment, the angular velocity, the -angular momentum, the quaternion, the torque, the end-point and -corner-point coordinates (for line and tri particles), and -sub-particle attributes of body particles.

    -
    -
    -

    6.14.5. Rigid bodies composed of finite-size particles

    -

    The fix rigid command treats a collection of -particles as a rigid body, computes its inertia tensor, sums the total -force and torque on the rigid body each timestep due to forces on its -constituent particles, and integrates the motion of the rigid body.

    -

    If any of the constituent particles of a rigid body are finite-size -particles (spheres or ellipsoids or line segments or triangles), then -their contribution to the inertia tensor of the body is different than -if they were point particles. This means the rotational dynamics of -the rigid body will be different. Thus a model of a dimer is -different if the dimer consists of two point masses versus two -spheroids, even if the two particles have the same mass. Finite-size -particles that experience torque due to their interaction with other -particles will also impart that torque to a rigid body they are part -of.

    -

    See the “fix rigid” command for example of complex rigid-body models -it is possible to define in LAMMPS.

    -

    Note that the fix shake command can also be used to -treat 2, 3, or 4 particles as a rigid body, but it always assumes the -particles are point masses.

    -

    Also note that body particles cannot be modeled with the fix rigid command. Body particles are treated by LAMMPS -as single particles, though they can store internal state, such as a -list of sub-particles. Individual body partices are typically treated -as rigid bodies, and their motion integrated with a command like fix nve/body. Interactions between pairs of body -particles are computed via a command like pair_style body.

    -
    -
    -
    -
    -

    6.15. Output from LAMMPS (thermo, dumps, computes, fixes, variables)

    -

    There are four basic kinds of LAMMPS output:

    -
      -
    • Thermodynamic output, which is a list -of quantities printed every few timesteps to the screen and logfile.
    • -
    • Dump files, which contain snapshots of atoms and various -per-atom values and are written at a specified frequency.
    • -
    • Certain fixes can output user-specified quantities to files: fix ave/time for time averaging, fix ave/chunk for spatial or other averaging, and fix print for single-line output of -variables. Fix print can also output to the -screen.
    • -
    • Restart files.
    • -
    -

    A simulation prints one set of thermodynamic output and (optionally) -restart files. It can generate any number of dump files and fix -output files, depending on what dump and fix -commands you specify.

    -

    As discussed below, LAMMPS gives you a variety of ways to determine -what quantities are computed and printed when the thermodynamics, -dump, or fix commands listed above perform output. Throughout this -discussion, note that users can also add their own computes and fixes to LAMMPS which can then generate values that can -then be output with these commands.

    -

    The following sub-sections discuss different LAMMPS command related -to output and the kind of data they operate on and produce:

    - -
    -

    6.15.1. Global/per-atom/local data

    -

    Various output-related commands work with three different styles of -data: global, per-atom, or local. A global datum is one or more -system-wide values, e.g. the temperature of the system. A per-atom -datum is one or more values per atom, e.g. the kinetic energy of each -atom. Local datums are calculated by each processor based on the -atoms it owns, but there may be zero or more per atom, e.g. a list of -bond distances.

    -
    -
    -

    6.15.2. Scalar/vector/array data

    -

    Global, per-atom, and local datums can each come in three kinds: a -single scalar value, a vector of values, or a 2d array of values. The -doc page for a “compute” or “fix” or “variable” that generates data -will specify both the style and kind of data it produces, e.g. a -per-atom vector.

    -

    When a quantity is accessed, as in many of the output commands -discussed below, it can be referenced via the following bracket -notation, where ID in this case is the ID of a compute. The leading -“c_” would be replaced by “f_” for a fix, or “v_” for a variable:

    - ---- - - - - - - - - - - - -
    c_IDentire scalar, vector, or array
    c_ID[I]one element of vector, one column of array
    c_ID[I][J]one element of array
    -

    In other words, using one bracket reduces the dimension of the data -once (vector -> scalar, array -> vector). Using two brackets reduces -the dimension twice (array -> scalar). Thus a command that uses -scalar values as input can typically also process elements of a vector -or array.

    -
    -
    -

    6.15.3. Thermodynamic output

    -

    The frequency and format of thermodynamic output is set by the -thermo, thermo_style, and -thermo_modify commands. The -thermo_style command also specifies what values -are calculated and written out. Pre-defined keywords can be specified -(e.g. press, etotal, etc). Three additional kinds of keywords can -also be specified (c_ID, f_ID, v_name), where a compute -or fix or variable provides the value to be -output. In each case, the compute, fix, or variable must generate -global values for input to the thermo_style custom -command.

    -

    Note that thermodynamic output values can be “extensive” or -“intensive”. The former scale with the number of atoms in the system -(e.g. total energy), the latter do not (e.g. temperature). The -setting for thermo_modify norm determines whether -extensive quantities are normalized or not. Computes and fixes -produce either extensive or intensive values; see their individual doc -pages for details. Equal-style variables produce only -intensive values; you can include a division by “natoms” in the -formula if desired, to make an extensive calculation produce an -intensive result.

    -
    -
    -

    6.15.4. Dump file output

    -

    Dump file output is specified by the dump and -dump_modify commands. There are several -pre-defined formats (dump atom, dump xtc, etc).

    -

    There is also a dump custom format where the user -specifies what values are output with each atom. Pre-defined atom -attributes can be specified (id, x, fx, etc). Three additional kinds -of keywords can also be specified (c_ID, f_ID, v_name), where a -compute or fix or variable -provides the values to be output. In each case, the compute, fix, or -variable must generate per-atom values for input to the dump custom command.

    -

    There is also a dump local format where the user specifies -what local values to output. A pre-defined index keyword can be -specified to enumuerate the local values. Two additional kinds of -keywords can also be specified (c_ID, f_ID), where a -compute or fix or variable -provides the values to be output. In each case, the compute or fix -must generate local values for input to the dump local -command.

    -
    -
    -

    6.15.5. Fixes that write output files

    -

    Several fixes take various quantities as input and can write output -files: fix ave/time, fix ave/chunk, fix ave/histo, -fix ave/correlate, and fix print.

    -

    The fix ave/time command enables direct output to -a file and/or time-averaging of global scalars or vectors. The user -specifies one or more quantities as input. These can be global -compute values, global fix values, or -variables of any style except the atom style which -produces per-atom values. Since a variable can refer to keywords used -by the thermo_style custom command (like temp or -press) and individual per-atom values, a wide variety of quantities -can be time averaged and/or output in this way. If the inputs are one -or more scalar values, then the fix generate a global scalar or vector -of output. If the inputs are one or more vector values, then the fix -generates a global vector or array of output. The time-averaged -output of this fix can also be used as input to other output commands.

    -

    The fix ave/chunk command enables direct output -to a file of chunk-averaged per-atom quantities like those output in -dump files. Chunks can represent spatial bins or other collections of -atoms, e.g. individual molecules. The per-atom quantities can be atom -density (mass or number) or atom attributes such as position, -velocity, force. They can also be per-atom quantities calculated by a -compute, by a fix, or by an atom-style -variable. The chunk-averaged output of this fix can -also be used as input to other output commands.

    -

    The fix ave/histo command enables direct output -to a file of histogrammed quantities, which can be global or per-atom -or local quantities. The histogram output of this fix can also be -used as input to other output commands.

    -

    The fix ave/correlate command enables direct -output to a file of time-correlated quantities, which can be global -values. The correlation matrix output of this fix can also be used as -input to other output commands.

    -

    The fix print command can generate a line of output -written to the screen and log file or to a separate file, periodically -during a running simulation. The line can contain one or more -variable values for any style variable except the -vector or atom styles). As explained above, variables themselves can -contain references to global values generated by thermodynamic keywords, computes, -fixes, or other variables, or to per-atom -values for a specific atom. Thus the fix print -command is a means to output a wide variety of quantities separate -from normal thermodynamic or dump file output.

    -
    -
    -

    6.15.6. Computes that process output quantities

    -

    The compute reduce and compute reduce/region commands take one or more per-atom -or local vector quantities as inputs and “reduce” them (sum, min, max, -ave) to scalar quantities. These are produced as output values which -can be used as input to other output commands.

    -

    The compute slice command take one or more global -vector or array quantities as inputs and extracts a subset of their -values to create a new vector or array. These are produced as output -values which can be used as input to other output commands.

    -

    The compute property/atom command takes a -list of one or more pre-defined atom attributes (id, x, fx, etc) and -stores the values in a per-atom vector or array. These are produced -as output values which can be used as input to other output commands. -The list of atom attributes is the same as for the dump custom command.

    -

    The compute property/local command takes -a list of one or more pre-defined local attributes (bond info, angle -info, etc) and stores the values in a local vector or array. These -are produced as output values which can be used as input to other -output commands.

    -
    -
    -

    6.15.7. Fixes that process output quantities

    -

    The fix vector command can create global vectors as -output from global scalars as input, accumulating them one element at -a time.

    -

    The fix ave/atom command performs time-averaging -of per-atom vectors. The per-atom quantities can be atom attributes -such as position, velocity, force. They can also be per-atom -quantities calculated by a compute, by a -fix, or by an atom-style variable. The -time-averaged per-atom output of this fix can be used as input to -other output commands.

    -

    The fix store/state command can archive one or -more per-atom attributes at a particular time, so that the old values -can be used in a future calculation or output. The list of atom -attributes is the same as for the dump custom command, -including per-atom quantities calculated by a compute, -by a fix, or by an atom-style variable. -The output of this fix can be used as input to other output commands.

    -
    -
    -

    6.15.8. Computes that generate values to output

    -

    Every compute in LAMMPS produces either global or -per-atom or local values. The values can be scalars or vectors or -arrays of data. These values can be output using the other commands -described in this section. The doc page for each compute command -describes what it produces. Computes that produce per-atom or local -values have the word “atom” or “local” in their style name. Computes -without the word “atom” or “local” produce global values.

    -
    -
    -

    6.15.9. Fixes that generate values to output

    -

    Some fixes in LAMMPS produces either global or per-atom or -local values which can be accessed by other commands. The values can -be scalars or vectors or arrays of data. These values can be output -using the other commands described in this section. The doc page for -each fix command tells whether it produces any output quantities and -describes them.

    -
    -
    -

    6.15.10. Variables that generate values to output

    -

    Variables defined in an input script can store one or -more strings. But equal-style, vector-style, and atom-style or -atomfile-style variables generate a global scalar value, global vector -or values, or a per-atom vector, resepctively, when accessed. The -formulas used to define these variables can contain references to the -thermodynamic keywords and to global and per-atom data generated by -computes, fixes, and other variables. The values generated by -variables can be used as input to and thus output by the other -commands described in this section.

    -
    -
    -

    6.15.11. Summary table of output options and data flow between commands

    -

    This table summarizes the various commands that can be used for -generating output from LAMMPS. Each command produces output data of -some kind and/or writes data to a file. Most of the commands can take -data from other commands as input. Thus you can link many of these -commands together in pipeline form, where data produced by one command -is used as input to another command and eventually written to the -screen or to a file. Note that to hook two commands together the -output and input data types must match, e.g. global/per-atom/local -data and scalar/vector/array data.

    -

    Also note that, as described above, when a command takes a scalar as -input, that could be an element of a vector or array. Likewise a -vector input could be a column of an array.

    - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CommandInputOutput
    thermo_style customglobal scalarsscreen, log file
    dump customper-atom vectorsdump file
    dump locallocal vectorsdump file
    fix printglobal scalar from variablescreen, file
    printglobal scalar from variablescreen
    computesN/Aglobal/per-atom/local scalar/vector/array
    fixesN/Aglobal/per-atom/local scalar/vector/array
    variablesglobal scalars and vectors, per-atom vectorsglobal scalar and vector, per-atom vector
    compute reduceper-atom/local vectorsglobal scalar/vector
    compute sliceglobal vectors/arraysglobal vector/array
    compute property/atomper-atom vectorsper-atom vector/array
    compute property/locallocal vectorslocal vector/array
    fix vectorglobal scalarsglobal vector
    fix ave/atomper-atom vectorsper-atom vector/array
    fix ave/timeglobal scalars/vectorsglobal scalar/vector/array, file
    fix ave/chunkper-atom vectorsglobal array, file
    fix ave/histoglobal/per-atom/local scalars and vectorsglobal array, file
    fix ave/correlateglobal scalarsglobal array, file
    fix store/stateper-atom vectorsper-atom vector/array
    -
    -
    -
    -
    -

    6.16. Thermostatting, barostatting, and computing temperature

    -

    Thermostatting means controlling the temperature of particles in an MD -simulation. Barostatting means controlling the pressure. Since the -pressure includes a kinetic component due to particle velocities, both -these operations require calculation of the temperature. Typically a -target temperature (T) and/or pressure (P) is specified by the user, -and the thermostat or barostat attempts to equilibrate the system to -the requested T and/or P.

    -

    Temperature is computed as kinetic energy divided by some number of -degrees of freedom (and the Boltzmann constant). Since kinetic energy -is a function of particle velocity, there is often a need to -distinguish between a particle’s advection velocity (due to some -aggregate motiion of particles) and its thermal velocity. The sum of -the two is the particle’s total velocity, but the latter is often what -is wanted to compute a temperature.

    -

    LAMMPS has several options for computing temperatures, any of which -can be used in thermostatting and barostatting. These compute commands calculate temperature, and the compute pressure command calculates pressure.

    - -

    All but the first 3 calculate velocity biases directly (e.g. advection -velocities) that are removed when computing the thermal temperature. -Compute temp/sphere and compute temp/asphere compute kinetic energy for -finite-size particles that includes rotational degrees of freedom. -They both allow for velocity biases indirectly, via an optional extra -argument, another temperature compute that subtracts a velocity bias. -This allows the translational velocity of spherical or aspherical -particles to be adjusted in prescribed ways.

    -

    Thermostatting in LAMMPS is performed by fixes, or in one -case by a pair style. Several thermostatting fixes are available: -Nose-Hoover (nvt), Berendsen, CSVR, Langevin, and direct rescaling -(temp/rescale). Dissipative particle dynamics (DPD) thermostatting -can be invoked via the dpd/tstat pair style:

    - -

    Fix nvt only thermostats the translational velocity of -particles. Fix nvt/sllod also does this, except -that it subtracts out a velocity bias due to a deforming box and -integrates the SLLOD equations of motion. See the NEMD simulations section of this page for further details. Fix nvt/sphere and fix nvt/asphere thermostat not only translation -velocities but also rotational velocities for spherical and aspherical -particles.

    -

    DPD thermostatting alters pairwise interactions in a manner analagous -to the per-particle thermostatting of fix langevin.

    -

    Any of the thermostatting fixes can use temperature computes that -remove bias which has two effects. First, the current calculated -temperature, which is compared to the requested target temperature, is -caluclated with the velocity bias removed. Second, the thermostat -adjusts only the thermal temperature component of the particle’s -velocities, which are the velocities with the bias removed. The -removed bias is then added back to the adjusted velocities. See the -doc pages for the individual fixes and for the -fix_modify command for instructions on how to assign -a temperature compute to a thermostatting fix. For example, you can -apply a thermostat to only the x and z components of velocity by using -it in conjunction with compute temp/partial. Of you could thermostat only -the thermal temperature of a streaming flow of particles without -affecting the streaming velocity, by using compute temp/profile.

    -
    -

    Note

    -

    Only the nvt fixes perform time integration, meaning they update -the velocities and positions of particles due to forces and velocities -respectively. The other thermostat fixes only adjust velocities; they -do NOT perform time integration updates. Thus they should be used in -conjunction with a constant NVE integration fix such as these:

    -
    - -

    Barostatting in LAMMPS is also performed by fixes. Two -barosttating methods are currently available: Nose-Hoover (npt and -nph) and Berendsen:

    - -

    The fix npt commands include a Nose-Hoover thermostat -and barostat. Fix nph is just a Nose/Hoover barostat; -it does no thermostatting. Both fix nph and fix press/bernendsen can be used in conjunction -with any of the thermostatting fixes.

    -

    As with the thermostats, fix npt and fix nph only use translational motion of the particles in -computing T and P and performing thermo/barostatting. Fix npt/sphere and fix npt/asphere thermo/barostat using not only -translation velocities but also rotational velocities for spherical -and aspherical particles.

    -

    All of the barostatting fixes use the compute pressure compute to calculate a current -pressure. By default, this compute is created with a simple compute temp (see the last argument of the compute pressure command), which is used to calculated -the kinetic component of the pressure. The barostatting fixes can -also use temperature computes that remove bias for the purpose of -computing the kinetic component which contributes to the current -pressure. See the doc pages for the individual fixes and for the -fix_modify command for instructions on how to assign -a temperature or pressure compute to a barostatting fix.

    -
    -

    Note

    -

    As with the thermostats, the Nose/Hoover methods (fix npt and fix nph) perform time integration. -Fix press/berendsen does NOT, so it should -be used with one of the constant NVE fixes or with one of the NVT -fixes.

    -
    -

    Finally, thermodynamic output, which can be setup via the -thermo_style command, often includes temperature -and pressure values. As explained on the doc page for the -thermo_style command, the default T and P are -setup by the thermo command itself. They are NOT the ones associated -with any thermostatting or barostatting fix you have defined or with -any compute that calculates a temperature or pressure. Thus if you -want to view these values of T and P, you need to specify them -explicitly via a thermo_style custom command. Or -you can use the thermo_modify command to -re-define what temperature or pressure compute is used for default -thermodynamic output.

    -
    -
    -
    -

    6.17. Walls

    -

    Walls in an MD simulation are typically used to bound particle motion, -i.e. to serve as a boundary condition.

    -

    Walls in LAMMPS can be of rough (made of particles) or idealized -surfaces. Ideal walls can be smooth, generating forces only in the -normal direction, or frictional, generating forces also in the -tangential direction.

    -

    Rough walls, built of particles, can be created in various ways. The -particles themselves can be generated like any other particle, via the -lattice and create_atoms commands, -or read in via the read_data command.

    -

    Their motion can be constrained by many different commands, so that -they do not move at all, move together as a group at constant velocity -or in response to a net force acting on them, move in a prescribed -fashion (e.g. rotate around a point), etc. Note that if a time -integration fix like fix nve or fix nvt -is not used with the group that contains wall particles, their -positions and velocities will not be updated.

    -
      -
    • fix aveforce - set force on particles to average value, so they move together
    • -
    • fix setforce - set force on particles to a value, e.g. 0.0
    • -
    • fix freeze - freeze particles for use as granular walls
    • -
    • fix nve/noforce - advect particles by their velocity, but without force
    • -
    • fix move - prescribe motion of particles by a linear velocity, oscillation, rotation, variable
    • -
    -

    The fix move command offers the most generality, since -the motion of individual particles can be specified with -variable formula which depends on time and/or the -particle position.

    -

    For rough walls, it may be useful to turn off pairwise interactions -between wall particles via the neigh_modify exclude command.

    -

    Rough walls can also be created by specifying frozen particles that do -not move and do not interact with mobile particles, and then tethering -other particles to the fixed particles, via a bond. -The bonded particles do interact with other mobile particles.

    -

    Idealized walls can be specified via several fix commands. Fix wall/gran creates frictional walls for use with -granular particles; all the other commands create smooth walls.

    - -

    The lj93, lj126, colloid, and harmonic styles all allow the -flat walls to move with a constant velocity, or oscillate in time. -The fix wall/region command offers the most -generality, since the region surface is treated as a wall, and the -geometry of the region can be a simple primitive volume (e.g. a -sphere, or cube, or plane), or a complex volume made from the union -and intersection of primitive volumes. Regions can also -specify a volume “interior” or “exterior” to the specified primitive -shape or union or intersection. Regions can also be -“dynamic” meaning they move with constant velocity, oscillate, or -rotate.

    -

    The only frictional idealized walls currently in LAMMPS are flat or -curved surfaces specified by the fix wall/gran -command. At some point we plan to allow regoin surfaces to be used as -frictional walls, as well as triangulated surfaces.

    -
    -
    -
    -

    6.18. Elastic constants

    -

    Elastic constants characterize the stiffness of a material. The formal -definition is provided by the linear relation that holds between the -stress and strain tensors in the limit of infinitesimal deformation. -In tensor notation, this is expressed as s_ij = C_ijkl * e_kl, where -the repeated indices imply summation. s_ij are the elements of the -symmetric stress tensor. e_kl are the elements of the symmetric strain -tensor. C_ijkl are the elements of the fourth rank tensor of elastic -constants. In three dimensions, this tensor has 3^4=81 elements. Using -Voigt notation, the tensor can be written as a 6x6 matrix, where C_ij -is now the derivative of s_i w.r.t. e_j. Because s_i is itself a -derivative w.r.t. e_i, it follows that C_ij is also symmetric, with at -most 7*6/2 = 21 distinct elements.

    -

    At zero temperature, it is easy to estimate these derivatives by -deforming the simulation box in one of the six directions using the -change_box command and measuring the change in the -stress tensor. A general-purpose script that does this is given in the -examples/elastic directory described in this section.

    -

    Calculating elastic constants at finite temperature is more -challenging, because it is necessary to run a simulation that perfoms -time averages of differential properties. One way to do this is to -measure the change in average stress tensor in an NVT simulations when -the cell volume undergoes a finite deformation. In order to balance -the systematic and statistical errors in this method, the magnitude of -the deformation must be chosen judiciously, and care must be taken to -fully equilibrate the deformed cell before sampling the stress -tensor. Another approach is to sample the triclinic cell fluctuations -that occur in an NPT simulation. This method can also be slow to -converge and requires careful post-processing (Shinoda)

    -
    -
    -
    -

    6.19. Library interface to LAMMPS

    -

    As described in Section 2.5, LAMMPS -can be built as a library, so that it can be called by another code, -used in a coupled manner with other -codes, or driven through a Python interface.

    -

    All of these methodologies use a C-style interface to LAMMPS that is -provided in the files src/library.cpp and src/library.h. The -functions therein have a C-style argument list, but contain C++ code -you could write yourself in a C++ application that was invoking LAMMPS -directly. The C++ code in the functions illustrates how to invoke -internal LAMMPS operations. Note that LAMMPS classes are defined -within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++ -application.

    -

    Library.cpp contains these 5 basic functions:

    -
    -void lammps_open(int, char **, MPI_Comm, void **)
    -void lammps_close(void *)
    -int lammps_version(void *)
    -void lammps_file(void *, char *)
    -char *lammps_command(void *, char *)
    -
    -

    The lammps_open() function is used to initialize LAMMPS, passing in a -list of strings as if they were command-line arguments when LAMMPS is run in -stand-alone mode from the command line, and a MPI communicator for -LAMMPS to run under. It returns a ptr to the LAMMPS object that is -created, and which is used in subsequent library calls. The -lammps_open() function can be called multiple times, to create -multiple instances of LAMMPS.

    -

    LAMMPS will run on the set of processors in the communicator. This -means the calling code can run LAMMPS on all or a subset of -processors. For example, a wrapper script might decide to alternate -between LAMMPS and another code, allowing them both to run on all the -processors. Or it might allocate half the processors to LAMMPS and -half to the other code and run both codes simultaneously before -syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations.

    -

    The lammps_close() function is used to shut down an instance of LAMMPS -and free all its memory.

    -

    The lammps_version() function can be used to determined the specific -version of the underlying LAMMPS code. This is particularly useful -when loading LAMMPS as a shared library via dlopen(). The code using -the library interface can than use this information to adapt to -changes to the LAMMPS command syntax between versions. The returned -LAMMPS version code is an integer (e.g. 2 Sep 2015 results in -20150902) that grows with every new LAMMPS version.

    -

    The lammps_file() and lammps_command() functions are used to pass a -file or string to LAMMPS as if it were an input script or single -command in an input script. Thus the calling code can read or -generate a series of LAMMPS commands one line at a time and pass it -thru the library interface to setup a problem and then run it, -interleaving the lammps_command() calls with other calls to extract -information from LAMMPS, perform its own operations, or call another -code’s library.

    -

    Other useful functions are also included in library.cpp. For example:

    -
    -void *lammps_extract_global(void *, char *)
    -void *lammps_extract_atom(void *, char *)
    -void *lammps_extract_compute(void *, char *, int, int)
    -void *lammps_extract_fix(void *, char *, int, int, int, int)
    -void *lammps_extract_variable(void *, char *, char *)
    -int lammps_set_variable(void *, char *, char *)
    -int lammps_get_natoms(void *)
    -void lammps_get_coords(void *, double *)
    -void lammps_put_coords(void *, double *)
    -
    -

    These can extract various global or per-atom quantities from LAMMPS as -well as values calculated by a compute, fix, or variable. The -“set_variable” function can set an existing string-style variable to a -new value, so that subsequent LAMMPS commands can access the variable. -The “get” and “put” operations can retrieve and reset atom -coordinates. See the library.cpp file and its associated header file -library.h for details.

    -

    The key idea of the library interface is that you can write any -functions you wish to define how your code talks to LAMMPS and add -them to src/library.cpp and src/library.h, as well as to the Python interface. The routines you add can access or -change any LAMMPS data you wish. The examples/COUPLE and python -directories have example C++ and C and Python codes which show how a -driver code can link to LAMMPS as a library, run LAMMPS on a subset of -processors, grab data from LAMMPS, change it, and put it back into -LAMMPS.

    -
    -
    -
    -

    6.20. Calculating thermal conductivity

    -

    The thermal conductivity kappa of a material can be measured in at -least 4 ways using various options in LAMMPS. See the examples/KAPPA -directory for scripts that implement the 4 methods discussed here for -a simple Lennard-Jones fluid model. Also, see this section of the manual for an analogous -discussion for viscosity.

    -

    The thermal conducitivity tensor kappa is a measure of the propensity -of a material to transmit heat energy in a diffusive manner as given -by Fourier’s law

    -

    J = -kappa grad(T)

    -

    where J is the heat flux in units of energy per area per time and -grad(T) is the spatial gradient of temperature. The thermal -conductivity thus has units of energy per distance per time per degree -K and is often approximated as an isotropic quantity, i.e. as a -scalar.

    -

    The first method is to setup two thermostatted regions at opposite -ends of a simulation box, or one in the middle and one at the end of a -periodic box. By holding the two regions at different temperatures -with a thermostatting fix, the energy -added to the hot region should equal the energy subtracted from the -cold region and be proportional to the heat flux moving between the -regions. See the papers by Ikeshoji and Hafskjold -and Wirnsberger et al for details of this idea. -Note that thermostatting fixes such as fix nvt, fix langevin, and fix temp/rescale store the cumulative energy they -add/subtract.

    -

    Alternatively, as a second method, the fix heat or -fix ehex commands can be used in place of thermostats -on each of two regions to add/subtract specified amounts of energy to -both regions. In both cases, the resulting temperatures of the two -regions can be monitored with the “compute temp/region” command and -the temperature profile of the intermediate region can be monitored -with the fix ave/chunk and compute ke/atom commands.

    -

    The third method is to perform a reverse non-equilibrium MD simulation -using the fix thermal/conductivity -command which implements the rNEMD algorithm of Muller-Plathe. -Kinetic energy is swapped between atoms in two different layers of the -simulation box. This induces a temperature gradient between the two -layers which can be monitored with the fix ave/chunk and compute ke/atom commands. The fix tallies the -cumulative energy transfer that it performs. See the fix thermal/conductivity command for -details.

    -

    The fourth method is based on the Green-Kubo (GK) formula which -relates the ensemble average of the auto-correlation of the heat flux -to kappa. The heat flux can be calculated from the fluctuations of -per-atom potential and kinetic energies and per-atom stress tensor in -a steady-state equilibrated simulation. This is in contrast to the -two preceding non-equilibrium methods, where energy flows continuously -between hot and cold regions of the simulation box.

    -

    The compute heat/flux command can calculate -the needed heat flux and describes how to implement the Green_Kubo -formalism using additional LAMMPS commands, such as the fix ave/correlate command to calculate the needed -auto-correlation. See the doc page for the compute heat/flux command for an example input script -that calculates the thermal conductivity of solid Ar via the GK -formalism.

    -
    -
    -
    -

    6.21. Calculating viscosity

    -

    The shear viscosity eta of a fluid can be measured in at least 5 ways -using various options in LAMMPS. See the examples/VISCOSITY directory -for scripts that implement the 5 methods discussed here for a simple -Lennard-Jones fluid model. Also, see this section of the manual for an analogous -discussion for thermal conductivity.

    -

    Eta is a measure of the propensity of a fluid to transmit momentum in -a direction perpendicular to the direction of velocity or momentum -flow. Alternatively it is the resistance the fluid has to being -sheared. It is given by

    -

    J = -eta grad(Vstream)

    -

    where J is the momentum flux in units of momentum per area per time. -and grad(Vstream) is the spatial gradient of the velocity of the fluid -moving in another direction, normal to the area through which the -momentum flows. Viscosity thus has units of pressure-time.

    -

    The first method is to perform a non-equlibrium MD (NEMD) simulation -by shearing the simulation box via the fix deform -command, and using the fix nvt/sllod command to -thermostat the fluid via the SLLOD equations of motion. -Alternatively, as a second method, one or more moving walls can be -used to shear the fluid in between them, again with some kind of -thermostat that modifies only the thermal (non-shearing) components of -velocity to prevent the fluid from heating up.

    -

    In both cases, the velocity profile setup in the fluid by this -procedure can be monitored by the fix ave/chunk command, which determines -grad(Vstream) in the equation above. E.g. the derivative in the -y-direction of the Vx component of fluid motion or grad(Vstream) = -dVx/dy. The Pxy off-diagonal component of the pressure or stress -tensor, as calculated by the compute pressure -command, can also be monitored, which is the J term in the equation -above. See this section of the manual -for details on NEMD simulations.

    -

    The third method is to perform a reverse non-equilibrium MD simulation -using the fix viscosity command which implements -the rNEMD algorithm of Muller-Plathe. Momentum in one dimension is -swapped between atoms in two different layers of the simulation box in -a different dimension. This induces a velocity gradient which can be -monitored with the fix ave/chunk command. -The fix tallies the cummulative momentum transfer that it performs. -See the fix viscosity command for details.

    -

    The fourth method is based on the Green-Kubo (GK) formula which -relates the ensemble average of the auto-correlation of the -stress/pressure tensor to eta. This can be done in a fully -equilibrated simulation which is in contrast to the two preceding -non-equilibrium methods, where momentum flows continuously through the -simulation box.

    -

    Here is an example input script that calculates the viscosity of -liquid Ar via the GK formalism:

    -
    # Sample LAMMPS input script for viscosity of liquid Ar
    -
    -
    -
    -units       real
    -variable    T equal 86.4956
    -variable    V equal vol
    -variable    dt equal 4.0
    -variable    p equal 400     # correlation length
    -variable    s equal 5       # sample interval
    -variable    d equal $p*$s   # dump interval
    -
    -
    # convert from LAMMPS real units to SI
    -
    -
    -
    -variable    kB equal 1.3806504e-23    # [J/K/** Boltzmann
    -variable    atm2Pa equal 101325.0
    -variable    A2m equal 1.0e-10
    -variable    fs2s equal 1.0e-15
    -variable    convert equal ${atm2Pa}*${atm2Pa}*${fs2s}*${A2m}*${A2m}*${A2m}
    -
    -
    # setup problem
    -
    -
    -
    -dimension    3
    -boundary     p p p
    -lattice      fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
    -region       box block 0 4 0 4 0 4
    -create_box   1 box
    -create_atoms 1 box
    -mass      1 39.948
    -pair_style   lj/cut 13.0
    -pair_coeff   * * 0.2381 3.405
    -timestep     ${dt}
    -thermo            $d
    -
    -
    # equilibration and thermalization
    -
    -
    -
    velocity     all create $T 102486 mom yes rot yes dist gaussian
    -fix          NVT all nvt temp $T $T 10 drag 0.2
    -run          8000
    -
    -
    -
    # viscosity calculation, switch to NVE if desired
    -
    -
    -
    #unfix       NVT
    -#fix         NVE all nve
    -
    -
    -
    -reset_timestep 0
    -variable     pxy equal pxy
    -variable     pxz equal pxz
    -variable     pyz equal pyz
    -fix          SS all ave/correlate $s $p $d &
    -             v_pxy v_pxz v_pyz type auto file S0St.dat ave running
    -variable     scale equal ${convert}/(${kB}*$T)*$V*$s*${dt}
    -variable     v11 equal trap(f_SS[3])*${scale}
    -variable     v22 equal trap(f_SS[4])*${scale}
    -variable     v33 equal trap(f_SS[5])*${scale}
    -thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33
    -run          100000
    -variable     v equal (v_v11+v_v22+v_v33)/3.0
    -variable     ndens equal count(all)/vol
    -print        "average viscosity: $v [Pa.s/** @ $T K, ${ndens} /A^3"
    -
    -

    The fifth method is related to the above Green-Kubo method, -but uses the Einstein formulation, analogous to the Einstein -mean-square-displacement formulation for self-diffusivity. The -time-integrated momentum fluxes play the role of Cartesian -coordinates, whose mean-square displacement increases linearly -with time at sufficiently long times.

    -
    -
    -
    -

    6.22. Calculating a diffusion coefficient

    -

    The diffusion coefficient D of a material can be measured in at least -2 ways using various options in LAMMPS. See the examples/DIFFUSE -directory for scripts that implement the 2 methods discussed here for -a simple Lennard-Jones fluid model.

    -

    The first method is to measure the mean-squared displacement (MSD) of -the system, via the compute msd command. The slope -of the MSD versus time is proportional to the diffusion coefficient. -The instantaneous MSD values can be accumulated in a vector via the -fix vector command, and a line fit to the vector to -compute its slope via the variable slope function, and -thus extract D.

    -

    The second method is to measure the velocity auto-correlation function -(VACF) of the system, via the compute vacf -command. The time-integral of the VACF is proportional to the -diffusion coefficient. The instantaneous VACF values can be -accumulated in a vector via the fix vector command, -and time integrated via the variable trap function, -and thus extract D.

    -
    -
    -
    -

    6.23. Using chunks to calculate system properties

    -

    In LAMMS, “chunks” are collections of atoms, as defined by the -compute chunk/atom command, which assigns -each atom to a chunk ID (or to no chunk at all). The number of chunks -and the assignment of chunk IDs to atoms can be static or change over -time. Examples of “chunks” are molecules or spatial bins or atoms -with similar values (e.g. coordination number or potential energy).

    -

    The per-atom chunk IDs can be used as input to two other kinds of -commands, to calculate various properties of a system:

    - -

    Here, each of the 3 kinds of chunk-related commands is briefly -overviewed. Then some examples are given of how to compute different -properties with chunk commands.

    -
    -

    6.23.1. Compute chunk/atom command:

    -

    This compute can assign atoms to chunks of various styles. Only atoms -in the specified group and optional specified region are assigned to a -chunk. Here are some possible chunk definitions:

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
    atoms in same moleculechunk ID = molecule ID
    atoms of same atom typechunk ID = atom type
    all atoms with same atom property (charge, radius, etc)chunk ID = output of compute property/atom
    atoms in same clusterchunk ID = output of compute cluster/atom command
    atoms in same spatial binchunk ID = bin ID
    atoms in same rigid bodychunk ID = molecule ID used to define rigid bodies
    atoms with similar potential energychunk ID = output of compute pe/atom
    atoms with same local defect structurechunk ID = output of compute centro/atom or compute coord/atom command
    -

    Note that chunk IDs are integer values, so for atom properties or -computes that produce a floating point value, they will be truncated -to an integer. You could also use the compute in a variable that -scales the floating point value to spread it across multiple intergers.

    -

    Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = -pencils, 3d bins = boxes, spherical bins, cylindrical bins.

    -

    This compute also calculates the number of chunks Nchunk, which is -used by other commands to tally per-chunk data. Nchunk can be a -static value or change over time (e.g. the number of clusters). The -chunk ID for an individual atom can also be static (e.g. a molecule -ID), or dynamic (e.g. what spatial bin an atom is in as it moves).

    -

    Note that this compute allows the per-atom output of other -computes, fixes, and -variables to be used to define chunk IDs for each -atom. This means you can write your own compute or fix to output a -per-atom quantity to use as chunk ID. See -Section 10 of the documentation for how to -do this. You can also define a per-atom variable in -the input script that uses a formula to generate a chunk ID for each -atom.

    -
    -
    -

    6.23.2. Fix ave/chunk command:

    -

    This fix takes the ID of a compute chunk/atom command as input. For each chunk, -it then sums one or more specified per-atom values over the atoms in -each chunk. The per-atom values can be any atom property, such as -velocity, force, charge, potential energy, kinetic energy, stress, -etc. Additional keywords are defined for per-chunk properties like -density and temperature. More generally any per-atom value generated -by other computes, fixes, and per-atom variables, can be summed over atoms in each chunk.

    -

    Similar to other averaging fixes, this fix allows the summed per-chunk -values to be time-averaged in various ways, and output to a file. The -fix produces a global array as output with one row of values per -chunk.

    -
    -
    -

    6.23.3. Compute */chunk commands:

    -

    Currently the following computes operate on chunks of atoms to produce -per-chunk values.

    - -

    They each take the ID of a compute chunk/atom command as input. As their names -indicate, they calculate the center-of-mass, radius of gyration, -moments of inertia, mean-squared displacement, temperature, torque, -and velocity of center-of-mass for each chunk of atoms. The compute property/chunk command can tally the -count of atoms in each chunk and extract other per-chunk properties.

    -

    The reason these various calculations are not part of the fix ave/chunk command, is that each requires a more -complicated operation than simply summing and averaging over per-atom -values in each chunk. For example, many of them require calculation -of a center of mass, which requires summing mass*position over the -atoms and then dividing by summed mass.

    -

    All of these computes produce a global vector or global array as -output, wih one or more values per chunk. They can be used -in various ways:

    -
      -
    • As input to the fix ave/time command, which can -write the values to a file and optionally time average them.
    • -
    • As input to the fix ave/histo command to -histogram values across chunks. E.g. a histogram of cluster sizes or -molecule diffusion rates.
    • -
    • As input to special functions of equal-style variables, like sum() and max(). E.g. to find the -largest cluster or fastest diffusing molecule.
    • -
    -
    -
    -

    6.23.4. Example calculations with chunks

    -

    Here are eaxmples using chunk commands to calculate various -properties:

    -
      -
    1. Average velocity in each of 1000 2d spatial bins:
    2. -
    -
    compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced
    -fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out
    -
    -
    -

    (2) Temperature in each spatial bin, after subtracting a flow -velocity:

    -
    compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced
    -compute vbias all temp/profile 1 0 0 y 10
    -fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out
    -
    -
    -
      -
    1. Center of mass of each molecule:
    2. -
    -
    -compute cc1 all chunk/atom molecule
    -compute myChunk all com/chunk cc1
    -fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector
    -
    -
      -
    1. Total force on each molecule and ave/max across all molecules:
    2. -
    -
    -compute cc1 all chunk/atom molecule
    -fix 1 all ave/chunk 1000 1 1000 cc1 fx fy fz file tmp.out
    -variable xave equal ave(f_1[2])
    -variable xmax equal max(f_1[2])
    -thermo 1000
    -thermo_style custom step temp v_xave v_xmax
    -
    -
      -
    1. Histogram of cluster sizes:
    2. -
    -
    -compute cluster all cluster/atom 1.0
    -compute cc1 all chunk/atom c_cluster compress yes
    -compute size all property/chunk cc1 count
    -fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo
    -
    -
    -
    -
    -
    -

    6.24. Setting parameters for the kspace_style pppm/disp command

    -

    The PPPM method computes interactions by splitting the pair potential -into two parts, one of which is computed in a normal pairwise fashion, -the so-called real-space part, and one of which is computed using the -Fourier transform, the so called reciprocal-space or kspace part. For -both parts, the potential is not computed exactly but is approximated. -Thus, there is an error in both parts of the computation, the -real-space and the kspace error. The just mentioned facts are true -both for the PPPM for Coulomb as well as dispersion interactions. The -deciding difference - and also the reason why the parameters for -pppm/disp have to be selected with more care - is the impact of the -errors on the results: The kspace error of the PPPM for Coulomb and -dispersion interaction and the real-space error of the PPPM for -Coulomb interaction have the character of noise. In contrast, the -real-space error of the PPPM for dispersion has a clear physical -interpretation: the underprediction of cohesion. As a consequence, the -real-space error has a much stronger effect than the kspace error on -simulation results for pppm/disp. Parameters must thus be chosen in a -way that this error is much smaller than the kspace error.

    -

    When using pppm/disp and not making any specifications on the PPPM -parameters via the kspace modify command, parameters will be tuned -such that the real-space error and the kspace error are equal. This -will result in simulations that are either inaccurate or slow, both of -which is not desirable. For selecting parameters for the pppm/disp -that provide fast and accurate simulations, there are two approaches, -which both have their up- and downsides.

    -

    The first approach is to set desired real-space an kspace accuracies -via the kspace_modify force/disp/real and kspace_modify -force/disp/kspace commands. Note that the accuracies have to be -specified in force units and are thus dependend on the chosen unit -settings. For real units, 0.0001 and 0.002 seem to provide reasonable -accurate and efficient computations for the real-space and kspace -accuracies. 0.002 and 0.05 work well for most systems using lj -units. PPPM parameters will be generated based on the desired -accuracies. The upside of this approach is that it usually provides a -good set of parameters and will work for both the kspace_modify diff -ad and kspace_modify diff ik options. The downside of the method -is that setting the PPPM parameters will take some time during the -initialization of the simulation.

    -

    The second approach is to set the parameters for the pppm/disp -explicitly using the kspace_modify mesh/disp, kspace_modify -order/disp, and kspace_modify gewald/disp commands. This approach -requires a more experienced user who understands well the impact of -the choice of parameters on the simulation accuracy and -performance. This approach provides a fast initialization of the -simulation. However, it is sensitive to errors: A combination of -parameters that will perform well for one system might result in -far-from-optimal conditions for other simulations. For example, -parametes that provide accurate and fast computations for -all-atomistic force fields can provide insufficient accuracy or -united-atomistic force fields (which is related to that the latter -typically have larger dispersion coefficients).

    -

    To avoid inaccurate or inefficient simulations, the pppm/disp stops -simulations with an error message if no action is taken to control the -PPPM parameters. If the automatic parameter generation is desired and -real-space and kspace accuracies are desired to be equal, this error -message can be suppressed using the kspace_modify disp/auto yes -command.

    -

    A reasonable approach that combines the upsides of both methods is to -make the first run using the kspace_modify force/disp/real and -kspace_modify force/disp/kspace commands, write down the PPPM -parameters from the outut, and specify these parameters using the -second approach in subsequent runs (which have the same composition, -force field, and approximately the same volume).

    -

    Concerning the performance of the pppm/disp there are two more things -to consider. The first is that when using the pppm/disp, the cutoff -parameter does no longer affect the accuracy of the simulation -(subject to that gewald/disp is adjusted when changing the cutoff). -The performance can thus be increased by examining different values -for the cutoff parameter. A lower bound for the cutoff is only set by -the truncation error of the repulsive term of pair potentials.

    -

    The second is that the mixing rule of the pair style has an impact on -the computation time when using the pppm/disp. Fastest computations -are achieved when using the geometric mixing rule. Using the -arithmetic mixing rule substantially increases the computational cost. -The computational overhead can be reduced using the kspace_modify -mix/disp geom and kspace_modify splittol commands. The first -command simply enforces geometric mixing of the dispersion -coeffiecients in kspace computations. This introduces some error in -the computations but will also significantly speed-up the -simulations. The second keyword sets the accuracy with which the -dispersion coefficients are approximated using a matrix factorization -approach. This may result in better accuracy then using the first -command, but will usually also not provide an equally good increase of -efficiency.

    -

    Finally, pppm/disp can also be used when no mixing rules apply. -This can be achieved using the kspace_modify mix/disp none command. -Note that the code does not check automatically whether any mixing -rule is fulfilled. If mixing rules do not apply, the user will have -to specify this command explicitly.

    -
    -
    -
    -

    6.25. Polarizable models

    -

    In polarizable force fields the charge distributions in molecules and -materials respond to their electrostatic environements. Polarizable -systems can be simulated in LAMMPS using three methods:

    -
      -
    • the fluctuating charge method, implemented in the QEQ -package,
    • -
    • the adiabatic core-shell method, implemented in the -CORESHELL package,
    • -
    • the thermalized Drude dipole method, implemented in the -USER-DRUDE package.
    • -
    -

    The fluctuating charge method calculates instantaneous charges on -interacting atoms based on the electronegativity equalization -principle. It is implemented in the fix qeq which is -available in several variants. It is a relatively efficient technique -since no additional particles are introduced. This method allows for -charge transfer between molecules or atom groups. However, because the -charges are located at the interaction sites, off-plane components of -polarization cannot be represented in planar molecules or atom groups.

    -

    The two other methods share the same basic idea: polarizable atoms are -split into one core atom and one satellite particle (called shell or -Drude particle) attached to it by a harmonic spring. Both atoms bear -a charge and they represent collectively an induced electric dipole. -These techniques are computationally more expensive than the QEq -method because of additional particles and bonds. These two -charge-on-spring methods differ in certain features, with the -core-shell model being normally used for ionic/crystalline materials, -whereas the so-called Drude model is normally used for molecular -systems and fluid states.

    -

    The core-shell model is applicable to crystalline materials where the -high symmetry around each site leads to stable trajectories of the -core-shell pairs. However, bonded atoms in molecules can be so close -that a core would interact too strongly or even capture the Drude -particle of a neighbor. The Drude dipole model is relatively more -complex in order to remediate this and other issues. Specifically, the -Drude model includes specific thermostating of the core-Drude pairs -and short-range damping of the induced dipoles.

    -

    The three polarization methods can be implemented through a -self-consistent calculation of charges or induced dipoles at each -timestep. In the fluctuating charge scheme this is done by the matrix -inversion method in fix qeq/point, but for core-shell -or Drude-dipoles the relaxed-dipoles technique would require an slow -iterative procedure. These self-consistent solutions yield accurate -trajectories since the additional degrees of freedom representing -polarization are massless. An alternative is to attribute a mass to -the additional degrees of freedom and perform time integration using -an extended Lagrangian technique. For the fluctuating charge scheme -this is done by fix qeq/dynamic, and for the -charge-on-spring models by the methods outlined in the next two -sections. The assignment of masses to the additional degrees of -freedom can lead to unphysical trajectories if care is not exerted in -choosing the parameters of the poarizable models and the simulation -conditions.

    -

    In the core-shell model the vibration of the shells is kept faster -than the ionic vibrations to mimic the fast response of the -polarizable electrons. But in molecular systems thermalizing the -core-Drude pairs at temperatures comparable to the rest of the -simulation leads to several problems (kinetic energy transfer, too -short a timestep, etc.) In order to avoid these problems the relative -motion of the Drude particles with respect to their cores is kept -“cold” so the vibration of the core-Drude pairs is very slow, -approaching the self-consistent regime. In both models the -temperature is regulated using the velocities of the center of mass of -core+shell (or Drude) pairs, but in the Drude model the actual -relative core-Drude particle motion is thermostated separately as -well.

    -
    -
    -
    -

    6.26. Adiabatic core/shell model

    -

    The adiabatic core-shell model by Mitchell and Finchham is a simple method for adding -polarizability to a system. In order to mimic the electron shell of -an ion, a satellite particle is attached to it. This way the ions are -split into a core and a shell where the latter is meant to react to -the electrostatic environment inducing polarizability.

    -

    Technically, shells are attached to the cores by a spring force f = -k*r where k is a parametrized spring constant and r is the distance -between the core and the shell. The charges of the core and the shell -add up to the ion charge, thus q(ion) = q(core) + q(shell). This -setup introduces the ion polarizability (alpha) given by -alpha = q(shell)^2 / k. In a -similar fashion the mass of the ion is distributed on the core and the -shell with the core having the larger mass.

    -

    To run this model in LAMMPS, atom_style full can -be used since atom charge and bonds are needed. Each kind of -core/shell pair requires two atom types and a bond type. The core and -shell of a core/shell pair should be bonded to each other with a -harmonic bond that provides the spring force. For example, a data file -for NaCl, as found in examples/coreshell, has this format:

    -
    432   atoms  # core and shell atoms
    -216   bonds  # number of core/shell springs
    -
    -
    -
    4     atom types  # 2 cores and 2 shells for Na and Cl
    -2     bond types
    -
    -
    -
    0.0 24.09597 xlo xhi
    -0.0 24.09597 ylo yhi
    -0.0 24.09597 zlo zhi
    -
    -
    -
    Masses       # core/shell mass ratio = 0.1
    -
    -
    -
    1 20.690784  # Na core
    -2 31.90500   # Cl core
    -3 2.298976   # Na shell
    -4 3.54500    # Cl shell
    -
    -
    -
    Atoms
    -
    -
    -
    1    1    2   1.5005    0.00000000   0.00000000   0.00000000 # core of core/shell pair 1
    -2    1    4  -2.5005    0.00000000   0.00000000   0.00000000 # shell of core/shell pair 1
    -3    2    1   1.5056    4.01599500   4.01599500   4.01599500 # core of core/shell pair 2
    -4    2    3  -0.5056    4.01599500   4.01599500   4.01599500 # shell of core/shell pair 2
    -(...)
    -
    -
    -
    Bonds   # Bond topology for spring forces
    -
    -
    -
    1     2     1     2   # spring for core/shell pair 1
    -2     2     3     4   # spring for core/shell pair 2
    -(...)
    -
    -
    -

    Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only -defined between the shells. Coulombic interactions are defined -between all cores and shells. If desired, additional bonds can be -specified between cores.

    -

    The special_bonds command should be used to -turn-off the Coulombic interaction within core/shell pairs, since that -interaction is set by the bond spring. This is done using the -special_bonds command with a 1-2 weight = 0.0, -which is the default value. It needs to be considered whether one has -to adjust the special_bonds weighting according -to the molecular topology since the interactions of the shells are -bypassed over an extra bond.

    -

    Note that this core/shell implementation does not require all ions to -be polarized. One can mix core/shell pairs and ions without a -satellite particle if desired.

    -

    Since the core/shell model permits distances of r = 0.0 between the -core and shell, a pair style with a “cs” suffix needs to be used to -implement a valid long-range Coulombic correction. Several such pair -styles are provided in the CORESHELL package. See this doc page for details. All of the core/shell enabled pair -styles require the use of a long-range Coulombic solver, as specified -by the kspace_style command. Either the PPPM or -Ewald solvers can be used.

    -

    For the NaCL example problem, these pair style and bond style settings -are used:

    -
    -pair_style      born/coul/long/cs 20.0 20.0
    -pair_coeff      * *      0.0 1.000   0.00  0.00   0.00
    -pair_coeff      3 3    487.0 0.23768 0.00  1.05   0.50 #Na-Na
    -pair_coeff      3 4 145134.0 0.23768 0.00  6.99   8.70 #Na-Cl
    -pair_coeff      4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl
    -
    -
    -bond_style      harmonic
    -bond_coeff      1 63.014 0.0
    -bond_coeff      2 25.724 0.0
    -
    -

    When running dynamics with the adiabatic core/shell model, the -following issues should be considered. Since the relative motion of -the core and shell particles corresponds to the polarization, typical -thermostats can alter the polarization behaviour, meaning the shell -will not react freely to its electrostatic environment. This is -critical during the equilibration of the system. Therefore -it’s typically desirable to decouple the relative motion of the -core/shell pair, which is an imaginary degree of freedom, from the -real physical system. To do that, the compute temp/cs command can be used, in conjunction with -any of the thermostat fixes, such as fix nvt or fix langevin. This compute uses the center-of-mass velocity -of the core/shell pairs to calculate a temperature, and insures that -velocity is what is rescaled for thermostatting purposes. This -compute also works for a system with both core/shell pairs and -non-polarized ions (ions without an attached satellite particle). The -compute temp/cs command requires input of two -groups, one for the core atoms, another for the shell atoms. -Non-polarized ions which might also be included in the treated system -should not be included into either of these groups, they are taken -into account by the group-ID (2nd argument) of the compute. The -groups can be defined using the group *type* command. -Note that to perform thermostatting using this definition of -temperature, the fix modify temp command should be -used to assign the compute to the thermostat fix. Likewise the -thermo_modify temp command can be used to make -this temperature be output for the overall system.

    -

    For the NaCl example, this can be done as follows:

    -
    -group cores type 1 2
    -group shells type 3 4
    -compute CSequ all temp/cs cores shells
    -fix thermoberendsen all temp/berendsen 1427 1427 0.4    # thermostat for the true physical system
    -fix thermostatequ all nve                               # integrator as needed for the berendsen thermostat
    -fix_modify thermoberendsen temp CSequ
    -thermo_modify temp CSequ                                # output of center-of-mass derived temperature
    -
    -

    If compute temp/cs is used, the decoupled -relative motion of the core and the shell should in theory be -stable. However numerical fluctuation can introduce a small -momentum to the system, which is noticable over long trajectories. -Therefore it is recomendable to use the fix momentum command in combination with compute temp/cs when equilibrating the system to -prevent any drift.

    -

    When intializing the velocities of a system with core/shell pairs, it -is also desirable to not introduce energy into the relative motion of -the core/shell particles, but only assign a center-of-mass velocity to -the pairs. This can be done by using the bias keyword of the -velocity create command and assigning the compute temp/cs command to the temp keyword of the -velocity commmand, e.g.

    -
    velocity all create 1427 134 bias yes temp CSequ
    -velocity all scale 1427 temp CSequ
    -
    -
    -

    It is important to note that the polarizability of the core/shell -pairs is based on their relative motion. Therefore the choice of -spring force and mass ratio need to ensure much faster relative motion -of the 2 atoms within the core/shell pair than their center-of-mass -velocity. This allow the shells to effectively react instantaneously -to the electrostatic environment. This fast movement also limits the -timestep size that can be used.

    -

    The primary literature of the adiabatic core/shell model suggests that -the fast relative motion of the core/shell pairs only allows negligible -energy transfer to the environment. Therefore it is not intended to -decouple the core/shell degree of freedom from the physical system -during production runs. In other words, the compute temp/cs command should not be used during -production runs and is only required during equilibration. This way one -is consistent with literature (based on the code packages DL_POLY or -GULP for instance).

    -

    The mentioned energy transfer will typically lead to a a small drift -in total energy over time. This internal energy can be monitored -using the compute chunk/atom and compute temp/chunk commands. The internal kinetic -energies of each core/shell pair can then be summed using the sum() -special function of the variable command. Or they can -be time/averaged and output using the fix ave/time -command. To use these commands, each core/shell pair must be defined -as a “chunk”. If each core/shell pair is defined as its own molecule, -the molecule ID can be used to define the chunks. If cores are bonded -to each other to form larger molecules, the chunks can be identified -by the fix property/atom via assigning a -core/shell ID to each atom using a special field in the data file read -by the read_data command. This field can then be -accessed by the compute property/atom -command, to use as input to the compute chunk/atom command to define the core/shell -pairs as chunks.

    -

    For example,

    -
    -fix csinfo all property/atom i_CSID                       # property/atom command
    -read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info  # atom property added in the data-file
    -compute prop all property/atom i_CSID
    -compute cs_chunk all chunk/atom c_prop
    -compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0     # note the chosen degrees of freedom for the core/shell pairs
    -fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector
    -
    -

    The additional section in the date file would be formatted like this:

    -
    CS-Info         # header of additional section
    -
    -
    -
    1   1           # column 1 = atom ID, column 2 = core/shell ID
    -2   1
    -3   2
    -4   2
    -5   3
    -6   3
    -7   4
    -8   4
    -(...)
    -
    -
    -
    -
    -
    -

    6.27. Drude induced dipoles

    -

    The thermalized Drude model, similarly to the core-shell -model, representes induced dipoles by a pair of charges (the core atom -and the Drude particle) connected by a harmonic spring. The Drude -model has a number of features aimed at its use in molecular systems -(Lamoureux and Roux):

    -
      -
    • Thermostating of the additional degrees of freedom associated with the -induced dipoles at very low temperature, in terms of the reduced -coordinates of the Drude particles with respect to their cores. This -makes the trajectory close to that of relaxed induced dipoles.
    • -
    • Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle -pair represents a single (polarizable) atom, so the special screening -factors in a covalent structure should be the same for the core and -the Drude particle. Drude particles have to inherit the 1-2, 1-3, 1-4 -special neighbor relations from their respective cores.
    • -
    • Stabilization of the interactions between induced dipoles. Drude -dipoles on covalently bonded atoms interact too strongly due to the -short distances, so an atom may capture the Drude particle of a -neighbor, or the induced dipoles within the same molecule may align -too much. To avoid this, damping at short range can be done by Thole -functions (for which there are physical grounds). This Thole damping -is applied to the point charges composing the induced dipole (the -charge of the Drude particle and the opposite charge on the core, not -to the total charge of the core atom).
    • -
    -

    A detailed tutorial covering the usage of Drude induced dipoles in -LAMMPS is available here.

    -

    As with the core-shell model, the cores and Drude particles should -appear in the data file as standard atoms. The same holds for the -springs between them, which are described by standard harmonic bonds. -The nature of the atoms (core, Drude particle or non-polarizable) is -specified via the fix drude command. The special -list of neighbors is automatically refactored to account for the -equivalence of core and Drude particles as regards special 1-2 to 1-4 -screening. It may be necessary to use the extra keyword of the -special_bonds command. If using fix shake, make sure no Drude particle is in this fix -group.

    -

    There are two ways to thermostat the Drude particles at a low -temperature: use either fix langevin/drude -for a Langevin thermostat, or fix drude/transform/* for a Nose-Hoover -thermostat. The former requires use of the command comm_modify vel yes. The latter requires two separate integration -fixes like nvt or npt. The correct temperatures of the reduced -degrees of freedom can be calculated using the compute temp/drude. This requires also to use the -command comm_modify vel yes.

    -

    Short-range damping of the induced dipole interactions can be achieved -using Thole functions through the the pair style thole in pair_style hybrid/overlay -with a Coulomb pair style. It may be useful to use coul/long/cs or -similar from the CORESHELL package if the core and Drude particle come -too close, which can cause numerical issues.

    -

    (Berendsen) Berendsen, Grigera, Straatsma, J Phys Chem, 91, -6269-6271 (1987).

    -

    (Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, -Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).

    -

    (Horn) Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon, -J Chem Phys, 120, 9665 (2004).

    -

    (Ikeshoji) Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 -(1994).

    -

    (Wirnsberger) Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104 -(2015).

    -

    (MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).

    -

    (Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990).

    -

    (Jorgensen) Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem -Phys, 79, 926 (1983).

    -

    (Price) Price and Brooks, J Chem Phys, 121, 10096 (2004).

    -

    (Shinoda) Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).

    -

    (Mitchell and Finchham) Mitchell, Finchham, J Phys Condensed Matter, -5, 1031-1038 (1993).

    -

    (Lamoureux and Roux) G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_intro.html b/doc/html/Section_intro.html deleted file mode 100644 index 4220096952d2187e8f518d7c36546ba1adb72a35..0000000000000000000000000000000000000000 --- a/doc/html/Section_intro.html +++ /dev/null @@ -1,708 +0,0 @@ - - - - - - - - - - - 1. Introduction — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    1. Introduction

    -

    This section provides an overview of what LAMMPS can and can’t do, -describes what it means for LAMMPS to be an open-source code, and -acknowledges the funding and people who have contributed to LAMMPS -over the years.

    - -
    -

    1.1. What is LAMMPS

    -

    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.

    -

    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 -message-passing library. This includes distributed- or shared-memory -parallel machines and Beowulf-style clusters.

    -

    LAMMPS can model systems with only a few particles up to millions or -billions. See Section 8 for information on -LAMMPS performance and scalability, or the Benchmarks section of the -LAMMPS WWW Site.

    -

    LAMMPS is a freely-available open-source code, distributed under the -terms of the GNU Public License, which means you can use or -modify the code however you wish. See this section for a -brief discussion of the open-source philosophy.

    -

    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 Section 10 -for more details.

    -

    The current version of LAMMPS is written in C++. Earlier versions -were written in F77 and F90. See -Section 13 for more information on -different versions. All versions can be downloaded from the LAMMPS WWW Site.

    -

    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. -See this section for more information on LAMMPS funding and -individuals who have contributed to LAMMPS.

    -

    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.2. LAMMPS features

    -

    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 -Section 10, which describes how you can add -it to LAMMPS.

    -
    -

    1.2.1. General features

    -
      -
    • 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 used: MPI and single-processor FFT
    • -
    • GPU (CUDA and OpenCL), Intel(R) Xeon Phi(TM) coprocessors, and OpenMP support for many code features
    • -
    • easy to extend with new features and functionality
    • -
    • runs from an input script
    • -
    • syntax for defining and using variables and formulas
    • -
    • syntax for looping over runs and breaking out of loops
    • -
    • run one or multiple simulations simultaneously (in parallel) from one script
    • -
    • build as library, invoke LAMMPS thru library interface or provided Python wrapper
    • -
    • couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both
    • -
    -
    -
    -

    1.2.2. Particle and model types

    -

    (atom style command)

    -
      -
    • atoms
    • -
    • coarse-grained particles (e.g. bead-spring polymers)
    • -
    • united-atom polymers or organic molecules
    • -
    • all-atom polymers, organic molecules, proteins, DNA
    • -
    • metals
    • -
    • granular materials
    • -
    • coarse-grained mesoscale models
    • -
    • finite-size spherical and ellipsoidal particles
    • -
    • finite-size line segment (2d) and triangle (3d) particles
    • -
    • point dipole particles
    • -
    • rigid collections of particles
    • -
    • hybrid combinations of these
    • -
    -
    -
    -

    1.2.3. Force fields

    -

    (pair style, bond style, -angle style, dihedral style, -improper style, kspace style -commands)

    -
      -
    • pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated
    • -
    • charged pairwise potentials: Coulombic, point-dipole
    • -
    • manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic
    • -
    • long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald)
    • -
    • polarization models: QEq, core/shell model, Drude dipole model
    • -
    • charge equilibration (QEq via dynamic, point, shielded, Slater methods)
    • -
    • coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO
    • -
    • mesoscopic potentials: granular, Peridynamics, SPH
    • -
    • electron force field (eFF, AWPMD)
    • -
    • bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable)
    • -
    • angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, class 2 (COMPASS)
    • -
    • dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS
    • -
    • improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS)
    • -
    • polymer potentials: all-atom, united-atom, bead-spring, breakable
    • -
    • water potentials: TIP3P, TIP4P, SPC
    • -
    • implicit solvent potentials: hydrodynamic lubrication, Debye
    • -
    • force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options
    • -
    • access to KIM archive of potentials via pair kim
    • -
    • hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
    • -
    • overlaid potentials: superposition of multiple pair potentials
    • -
    -
    -
    -

    1.2.4. Atom creation

    -

    (read_data, lattice, -create_atoms, delete_atoms, -displace_atoms, replicate 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)
    • -
    • replicate existing atoms multiple times
    • -
    • displace atoms
    • -
    -
    -
    -

    1.2.5. Ensembles, constraints, and boundary conditions

    -

    (fix command)

    -
      -
    • 2d or 3d systems
    • -
    • orthogonal or non-orthogonal (triclinic symmetry) simulation domains
    • -
    • constant NVE, NVT, NPT, NPH, Parinello/Rahman 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
    • -
    • rigid body constraints
    • -
    • SHAKE bond and angle constraints
    • -
    • Monte Carlo bond breaking, formation, swapping
    • -
    • atom/molecule insertion and deletion
    • -
    • walls of various kinds
    • -
    • non-equilibrium molecular dynamics (NEMD)
    • -
    • variety of additional boundary conditions and constraints
    • -
    -
    -
    -

    1.2.6. Integrators

    -

    (run, run_style, minimize commands)

    -
      -
    • velocity-Verlet integrator
    • -
    • Brownian dynamics
    • -
    • rigid body integration
    • -
    • energy minimization via conjugate gradient or steepest descent relaxation
    • -
    • rRESPA hierarchical timestepping
    • -
    • rerun command for post-processing of dump files
    • -
    -
    -
    -

    1.2.7. Diagnostics

    -
      -
    • see the various flavors of the fix and compute commands
    • -
    -
    -
    -

    1.2.8. Output

    -

    (dump, restart commands)

    -
      -
    • log file of thermodynamic info
    • -
    • text dump files of atom coords, velocities, other per-atom quantities
    • -
    • binary restart files
    • -
    • parallel I/O of dump and restart files
    • -
    • per-atom quantities (energy, stress, centro-symmetry parameter, CNA, 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, CFG formats
    • -
    -
    - -
    -

    1.2.10. Pre- and post-processing

    -
      -
    • Various pre- and post-processing serial tools are packaged -with LAMMPS; see these doc pages.
    • -
    • Our group has also written and released a separate toolkit called -Pizza.py which provides tools for doing setup, analysis, -plotting, and visualization for LAMMPS simulations. Pizza.py is -written in Python and is available for download from the Pizza.py WWW site.
    • -
    -
    -
    -

    1.2.11. Specialized features

    -

    These are LAMMPS capabilities which you may not think of as typical -molecular dynamics options:

    - -
    -
    -
    -
    -

    1.3. LAMMPS non-features

    -

    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
    • -
    -

    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
    • -
    -

    A few tools for pre- and post-processing tasks are provided as part of -the LAMMPS package; they are described in this section. 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 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 and is available for download from the Pizza.py WWW site.

    -

    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 -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, bond coeff, angle coeff, 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 or 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 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 Section 10 for a discussion -of how you can use the dump and compute and -fix 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 tool in this section. It creates xyz projection views of -atomic coordinates and animates them. We find it very useful for -debugging purposes. For high-quality visualization we recommend the -following packages:

    - -

    Other features that LAMMPS does not yet (and may never) support are -discussed in Section 13.

    -

    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, 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.

    -
    -
    -
    -

    1.4. Open source distribution

    -

    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 (GPL). This -is often referred to as open-source distribution - see -www.gnu.org or www.opensource.org for more -details. The legal text of the GPL is in the LICENSE file that is -included in the LAMMPS distribution.

    -

    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 on any of these -items.

    -
      -
    • Point prospective users to the LAMMPS WWW Site. Mention it in -talks or link to it from your WWW site.
    • -
    • If you find an error or omission in this manual or on the LAMMPS WWW Site, or have a suggestion for something to clarify or include, -send an email to the -developers.
    • -
    • If you find a bug, Section 12.2 -describes how to report it.
    • -
    • 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, with links -and attributions back to you.
    • -
    • Create a new Makefile.machine that can be added to the src/MAKE -directory.
    • -
    • 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 Section 9. If you write -a new tool that users will find useful, it can be added to the LAMMPS -distribution.
    • -
    • LAMMPS is designed to be easy to extend with new code for features -like potentials, boundary conditions, diagnostic computations, etc. -This section gives details. If you add a -feature of general interest, it can be added to the LAMMPS -distribution.
    • -
    • The Benchmark page of the LAMMPS WWW Site 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.
    • -
    • You can send feedback for the User Comments page of the LAMMPS WWW Site. It might be added to the page. No promises.
    • -
    • Cash. Small denominations, unmarked bills preferred. Paper sack OK. -Leave on desk. VISA also accepted. Chocolate chip cookies -encouraged.
    • -
    -
    -
    -
    -

    1.5. Acknowledgments and citations

    -

    LAMMPS development has been funded by the US Department of Energy (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life -programs and its OASCR and 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) under the project, “Carbon -Sequestration in Synechococcus Sp.: From Molecular Machines to -Hierarchical Modeling”.

    -

    The following paper describe the basic parallel algorithms used in -LAMMPS. If you use LAMMPS results in your published work, please cite -this paper and include a pointer to the LAMMPS WWW Site -(http://lammps.sandia.gov):

    -

    S. Plimpton, Fast Parallel Algorithms for Short-Range Molecular -Dynamics, J Comp Phys, 117, 1-19 (1995).

    -

    Other papers describing specific algorithms used in LAMMPS are listed -under the Citing LAMMPS link of -the LAMMPS WWW page.

    -

    The Publications link on the -LAMMPS WWW page lists papers that have cited LAMMPS. If your paper is -not listed there for some reason, feel free to send us the info. If -the simulations in your paper produced cool pictures or animations, -we’ll be pleased to add them to the -Pictures or -Movies pages of the LAMMPS WWW -site.

    -

    The core group of LAMMPS developers is at Sandia National Labs:

    -
      -
    • Steve Plimpton, sjplimp at sandia.gov
    • -
    • Aidan Thompson, athomps at sandia.gov
    • -
    • Paul Crozier, pscrozi at sandia.gov
    • -
    -

    The following folks are responsible for significant contributions to -the code, or other aspects of the LAMMPS development effort. Many of -the packages they have written are somewhat unique to LAMMPS and the -code would not be as general-purpose as it is without their expertise -and efforts.

    -
      -
    • Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM and USER-OMP packages
    • -
    • Roy Pollock (LLNL), Ewald and PPPM solvers
    • -
    • Mike Brown (ORNL), brownw at ornl.gov, GPU package
    • -
    • Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential
    • -
    • Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics
    • -
    • Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion
    • -
    • Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling
    • -
    • Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD
    • -
    • Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA package
    • -
    • Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field
    • -
    • Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling
    • -
    • Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF
    • -
    • Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SPH package
    • -
    -

    As discussed in Section 13, LAMMPS -originated as a cooperative project between DOE labs and industrial -partners. Folks involved in the design and testing of the original -version of LAMMPS were the following:

    -
      -
    • John Carpenter (Mayo Clinic, formerly at Cray Research)
    • -
    • Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb)
    • -
    • Steve Lustig (Dupont)
    • -
    • Jim Belak (LLNL)
    • -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_modify.html b/doc/html/Section_modify.html deleted file mode 100644 index 424bda70332844fc953690de8ac7efb2e958c51e..0000000000000000000000000000000000000000 --- a/doc/html/Section_modify.html +++ /dev/null @@ -1,1328 +0,0 @@ - - - - - - - - - - - 10. Modifying & extending LAMMPS — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    10. Modifying & extending LAMMPS

    -

    This section describes how to customize LAMMPS by modifying -and extending its source code.

    -
    - - - - - -
    10.6 Fix styles which include integrators, temperature and pressure control, force constraints, boundary conditions, diagnostic output, etc
    - - - - - - - - - -

    -
    -

    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 -is files added in this fashion.

    -

    In this section, changes and additions users can make are listed along -with minimal instructions. If you add a new feature to LAMMPS and -think it will be of interest to general users, we encourage you to -submit it to the developers for inclusion in the released version of -LAMMPS. Information about how to do this is provided -below.

    -

    The best way to add a new feature is to find a similar feature in -LAMMPS and look at the corresponding source and header files to figure -out what it does. You will need some knowledge of C++ to be able to -understand the hi-level structure of LAMMPS and its class -organization, but functions (class methods) that do actual -computations are written in vanilla C-style code and operate on simple -C-style data structures (vectors and arrays).

    -

    Most of the new features described in this section require you to -write a new C++ derived class (except for exceptions described below, -where you can make small edits to existing files). Creating a new -class requires 2 files, a source code file (*.cpp) and a header file -(*.h). The derived class must provide certain methods to work as a -new option. Depending on how different your new feature is compared -to existing features, you can either derive from the base class -itself, or from a derived class that already exists. Enabling LAMMPS -to invoke the new class is as simple as putting the two source -files in the src dir and re-building LAMMPS.

    -

    The advantage of C++ and its object-orientation is that all the code -and variables needed to define the new feature are in the 2 files you -write, and thus shouldn’t make the rest of LAMMPS more complex or -cause side-effect bugs.

    -

    Here is a concrete example. Suppose you write 2 files pair_foo.cpp -and pair_foo.h that define a new class PairFoo that computes pairwise -potentials described in the classic 1997 paper by Foo, et al. -If you wish to invoke those potentials in a LAMMPS input script with a -command like

    -
    -pair_style foo 0.1 3.5
    -
    -

    then your pair_foo.h file should be structured as follows:

    -
    -#ifdef PAIR_CLASS
    -PairStyle(foo,PairFoo)
    -#else
    -...
    -(class definition for PairFoo)
    -...
    -#endif
    -
    -

    where “foo” is the style keyword in the pair_style command, and -PairFoo is the class name defined in your pair_foo.cpp and pair_foo.h -files.

    -

    When you re-build LAMMPS, your new pairwise potential becomes part of -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.

    -

    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 -used and set by the derived classes which are also used by the base -class. Sometimes they are also used by the rest of LAMMPS. Virtual -functions in the base class header file which are set = 0 are ones you -must define in your new derived class to give it the functionality -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 -below.

    -

    Here are additional guidelines for modifying LAMMPS and adding new -functionality:

    -
      -
    • Think about whether what you want to do would be better as a pre- or -post-processing step. Many computations are more easily and more -quickly done that way.
    • -
    • Don’t do anything within the timestepping of a run that isn’t -parallel. E.g. don’t accumulate a bunch of data on a single processor -and analyze it. You run the risk of seriously degrading the parallel -efficiency.
    • -
    • If your new feature reads arguments or writes output, make sure you -follow the unit conventions discussed by the units -command.
    • -
    • 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. We might be -interested in adding it to the LAMMPS distribution. See further -details on this at the bottom of this page.
    • -
    -
    -

    10.1. Atom styles

    -

    Classes that define an atom style are derived from -the AtomVec class and managed by the Atom class. The atom style -determines what attributes are associated with an atom. A new atom -style can be created if one of the existing atom styles does not -define all the attributes you need to store and communicate with -atoms.

    -

    Atom_vec_atomic.cpp is a simple example of an atom style.

    -

    Here is a brief description of methods you define in your new derived -class. See atom_vec.h for details.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    initone time setup (optional)
    growre-allocate atom arrays to longer lengths (required)
    grow_resetmake array pointers in Atom and AtomVec classes consistent (required)
    copycopy info for one atom to another atom’s array locations (required)
    pack_commstore an atom’s info in a buffer communicated every timestep (required)
    pack_comm_veladd velocity info to communication buffer (required)
    pack_comm_hybridstore extra info unique to this atom style (optional)
    unpack_commretrieve an atom’s info from the buffer (required)
    unpack_comm_velalso retrieve velocity info (required)
    unpack_comm_hybridretreive extra info unique to this atom style (optional)
    pack_reversestore an atom’s info in a buffer communicating partial forces (required)
    pack_reverse_hybridstore extra info unique to this atom style (optional)
    unpack_reverseretrieve an atom’s info from the buffer (required)
    unpack_reverse_hybridretreive extra info unique to this atom style (optional)
    pack_borderstore an atom’s info in a buffer communicated on neighbor re-builds (required)
    pack_border_veladd velocity info to buffer (required)
    pack_border_hybridstore extra info unique to this atom style (optional)
    unpack_borderretrieve an atom’s info from the buffer (required)
    unpack_border_velalso retrieve velocity info (required)
    unpack_border_hybridretreive extra info unique to this atom style (optional)
    pack_exchangestore all an atom’s info to migrate to another processor (required)
    unpack_exchangeretrieve an atom’s info from the buffer (required)
    size_restartnumber of restart quantities associated with proc’s atoms (required)
    pack_restartpack atom quantities into a buffer (required)
    unpack_restartunpack atom quantities from a buffer (required)
    create_atomcreate an individual atom of this style (required)
    data_atomparse an atom line from the data file (required)
    data_atom_hybridparse additional atom info unique to this atom style (optional)
    data_velparse one line of velocity information from data file (optional)
    data_vel_hybridparse additional velocity data unique to this atom style (optional)
    memory_usagetally memory allocated by atom arrays (required)
    -

    The constructor of the derived class sets values for several variables -that you must set when defining a new atom style, which are documented -in atom_vec.h. New atom arrays are defined in atom.cpp. Search for -the word “customize” and you will find locations you will need to -modify.

    -
    -

    Note

    -

    It is possible to add some attributes, such as a molecule ID, to -atom styles that do not have them via the fix property/atom command. This command also -allows new custom attributes consisting of extra integer or -floating-point values to be added to atoms. See the fix property/atom doc page for examples of cases -where this is useful and details on how to initialize, access, and -output the custom values.

    -
    -

    New pair styles, fixes, or -computes can be added to LAMMPS, as discussed below. -The code for these classes can use the per-atom properties defined by -fix property/atom. The Atom class has a find_custom() method that is -useful in this context:

    -
    -int index = atom->find_custom(char *name, int &flag);
    -
    -

    The “name” of a custom attribute, as specified in the fix property/atom command, is checked to verify -that it exists and its index is returned. The method also sets flag = -0/1 depending on whether it is an integer or floating-point attribute. -The vector of values associated with the attribute can then be -accessed using the returned index as

    -
    -int *ivector = atom->ivector[index];
    -double *dvector = atom->dvector[index];
    -
    -

    Ivector or dvector are vectors of length Nlocal = # of owned atoms, -which store the attributes of individual atoms.

    -
    -
    -
    -

    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 -add new potentials to LAMMPS.

    -

    Bond_harmonic.cpp is the simplest example of a bond style. Ditto for -the harmonic forms of the angle, dihedral, and improper style -commands.

    -

    Here is a brief description of common methods you define in your -new derived class. See bond.h, angle.h, dihedral.h, and improper.h -for details and specific additional methods.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    initcheck if all coefficients are set, calls init_style (optional)
    init_stylecheck if style specific conditions are met (optional)
    computecompute the molecular interactions (required)
    settingsapply global settings for all types (optional)
    coeffset coefficients for one type (required)
    equilibrium_distancelength of bond, used by SHAKE (required, bond only)
    equilibrium_angleopening of angle, used by SHAKE (required, angle only)
    write & read_restartwrites/reads coeffs to restart files (required)
    singleforce and energy of a single bond or angle (required, bond or angle only)
    memory_usagetally memory allocated by the style (optional)
    -
    -
    -
    -

    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 -quantities like kinetic energy and the centro-symmetry parameter -are derived from the Compute class. New styles can be created -to add new calculations to LAMMPS.

    -

    Compute_temp.cpp is a simple example of computing a scalar -temperature. Compute_ke_atom.cpp is a simple example of computing -per-atom kinetic energy.

    -

    Here is a brief description of methods you define in your new derived -class. See compute.h for details.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    initperform one time setup (required)
    init_listneighbor list setup, if needed (optional)
    compute_scalarcompute a scalar quantity (optional)
    compute_vectorcompute a vector of quantities (optional)
    compute_peratomcompute one or more quantities per atom (optional)
    compute_localcompute one or more quantities per processor (optional)
    pack_commpack a buffer with items to communicate (optional)
    unpack_communpack the buffer (optional)
    pack_reversepack a buffer with items to reverse communicate (optional)
    unpack_reverseunpack the buffer (optional)
    remove_biasremove velocity bias from one atom (optional)
    remove_bias_allremove velocity bias from all atoms in group (optional)
    restore_biasrestore velocity bias for one atom after remove_bias (optional)
    restore_bias_allsame as before, but for all atoms in group (optional)
    pair_tally_callbackcallback function for tally-style computes (optional).
    memory_usagetally memory usage (optional)
    -

    Tally-style computes are a special case, as their computation is done -in two stages: the callback function is registered with the pair style -and then called from the Pair::ev_tally() function, which is called for -each pair after force and energy has been computed for this pair. Then -the tallied values are retrieved with the standard compute_scalar or -compute_vector or compute_peratom methods. The USER-TALLY package -provides examples_compute_tally.html for utilizing this mechanism.

    -
    -
    -
    -

    10.4. Dump styles

    -
    -
    -

    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 -class can be added, but it is typically simpler to modify the -DumpCustom class contained in the dump_custom.cpp file.

    -

    Dump_atom.cpp is a simple example of a derived dump class.

    -

    Here is a brief description of methods you define in your new derived -class. See dump.h for details.

    - ---- - - - - - - - - - - - - - - -
    write_headerwrite the header section of a snapshot of atoms
    countcount the number of lines a processor will output
    packpack a proc’s output data into a buffer
    write_datawrite a proc’s data to a file
    -

    See the dump command and its custom style for a list of -keywords for atom information that can already be dumped by -DumpCustom. It includes options to dump per-atom info from Compute -classes, so adding a new derived Compute class is one way to calculate -new quantities to dump.

    -

    Alternatively, you can add new keywords to the dump custom command. -Search for the word “customize” in dump_custom.cpp to see the -half-dozen or so locations where code will need to be added.

    -
    -
    -
    -

    10.6. Fix styles

    -

    In LAMMPS, a “fix” is any operation that is computed during -timestepping that alters some property of the system. Essentially -everything that happens during a simulation besides force computation, -neighbor list construction, and output, is a “fix”. This includes -time integration (update of coordinates and velocities), force -constraints or boundary conditions (SHAKE or walls), and diagnostics -(compute a diffusion coefficient). New styles can be created to add -new options to LAMMPS.

    -

    Fix_setforce.cpp is a simple example of setting forces on atoms to -prescribed values. There are dozens of fix options already in LAMMPS; -choose one as a template that is similar to what you want to -implement.

    -

    Here is a brief description of methods you can define in your new -derived class. See fix.h for details.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    setmaskdetermines when the fix is called during the timestep (required)
    initinitialization before a run (optional)
    setup_pre_exchangecalled before atom exchange in setup (optional)
    setup_pre_forcecalled before force computation in setup (optional)
    setupcalled immediately before the 1st timestep and after forces are computed (optional)
    min_setup_pre_forcelike setup_pre_force, but for minimizations instead of MD runs (optional)
    min_setuplike setup, but for minimizations instead of MD runs (optional)
    initial_integratecalled at very beginning of each timestep (optional)
    pre_exchangecalled before atom exchange on re-neighboring steps (optional)
    pre_neighborcalled before neighbor list build (optional)
    pre_forcecalled before pair & molecular forces are computed (optional)
    post_forcecalled after pair & molecular forces are computed and communicated (optional)
    final_integratecalled at end of each timestep (optional)
    end_of_stepcalled at very end of timestep (optional)
    write_restartdumps fix info to restart file (optional)
    restartuses info from restart file to re-initialize the fix (optional)
    grow_arraysallocate memory for atom-based arrays used by fix (optional)
    copy_arrayscopy atom info when an atom migrates to a new processor (optional)
    pack_exchangestore atom’s data in a buffer (optional)
    unpack_exchangeretrieve atom’s data from a buffer (optional)
    pack_restartstore atom’s data for writing to restart file (optional)
    unpack_restartretrieve atom’s data from a restart file buffer (optional)
    size_restartsize of atom’s data (optional)
    maxsize_restartmax size of atom’s data (optional)
    setup_pre_force_respasame as setup_pre_force, but for rRESPA (optional)
    initial_integrate_respasame as initial_integrate, but for rRESPA (optional)
    post_integrate_respacalled after the first half integration step is done in rRESPA (optional)
    pre_force_respasame as pre_force, but for rRESPA (optional)
    post_force_respasame as post_force, but for rRESPA (optional)
    final_integrate_respasame as final_integrate, but for rRESPA (optional)
    min_pre_forcecalled after pair & molecular forces are computed in minimizer (optional)
    min_post_forcecalled after pair & molecular forces are computed and communicated in minmizer (optional)
    min_storestore extra data for linesearch based minimization on a LIFO stack (optional)
    min_pushstorepush the minimization LIFO stack one element down (optional)
    min_popstorepop the minimization LIFO stack one element up (optional)
    min_clearstoreclear minimization LIFO stack (optional)
    min_stepreset or move forward on line search minimization (optional)
    min_dofreport number of degrees of freedom added by this fix in minimization (optional)
    max_alphareport maximum allowed step size during linesearch minimization (optional)
    pack_commpack a buffer to communicate a per-atom quantity (optional)
    unpack_communpack a buffer to communicate a per-atom quantity (optional)
    pack_reverse_commpack a buffer to reverse communicate a per-atom quantity (optional)
    unpack_reverse_communpack a buffer to reverse communicate a per-atom quantity (optional)
    dofreport number of degrees of freedom removed by this fix during MD (optional)
    compute_scalarreturn a global scalar property that the fix computes (optional)
    compute_vectorreturn a component of a vector property that the fix computes (optional)
    compute_arrayreturn a component of an array property that the fix computes (optional)
    deformcalled when the box size is changed (optional)
    reset_targetcalled when a change of the target temperature is requested during a run (optional)
    reset_dtis called when a change of the time step is requested during a run (optional)
    modify_paramcalled when a fix_modify request is executed (optional)
    memory_usagereport memory used by fix (optional)
    thermocompute quantities for thermodynamic output (optional)
    -

    Typically, only a small fraction of these methods are defined for a -particular fix. Setmask is mandatory, as it determines when the fix -will be invoked during the timestep. Fixes that perform time -integration (nve, nvt, npt) implement initial_integrate() and -final_integrate() to perform velocity Verlet updates. Fixes that -constrain forces implement post_force().

    -

    Fixes that perform diagnostics typically implement end_of_step(). For -an end_of_step fix, one of your fix arguments must be the variable -“nevery” which is used to determine when to call the fix and you must -set this variable in the constructor of your fix. By convention, this -is the first argument the fix defines (after the ID, group-ID, style).

    -

    If the fix needs to store information for each atom that persists from -timestep to timestep, it can manage that memory and migrate the info -with the atoms as they move from processors to processor by -implementing the grow_arrays, copy_arrays, pack_exchange, and -unpack_exchange methods. Similarly, the pack_restart and -unpack_restart methods can be implemented to store information about -the fix in restart files. If you wish an integrator or force -constraint fix to work with rRESPA (see the run_style -command), the initial_integrate, post_force_integrate, and -final_integrate_respa methods can be implemented. The thermo method -enables a fix to contribute values to thermodynamic output, as printed -quantities and/or to be summed to the potential energy of the system.

    -
    -
    -
    -

    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, -read_data, velocity, and run commands are all implemented in this -fashion. When such a command is encountered in the LAMMPS input -script, LAMMPS simply creates a class with the corresponding name, -invokes the “command” method of the class, and passes it the arguments -from the input script. The command method can perform whatever -operations it wishes on LAMMPS data structures.

    -

    The single method your new class must define is as follows:

    - ---- - - - - - -
    commandoperations performed by the new command
    -

    Of course, the new class can define other methods and variables as -needed.

    -
    -
    -
    -

    10.8. Kspace computations

    -

    Classes that compute long-range Coulombic interactions via K-space -representations (Ewald, PPPM) are derived from the KSpace class. New -styles can be created to add new K-space options to LAMMPS.

    -

    Ewald.cpp is an example of computing K-space interactions.

    -

    Here is a brief description of methods you define in your new derived -class. See kspace.h for details.

    - ---- - - - - - - - - - - - - - - -
    initinitialize the calculation before a run
    setupcomputation before the 1st timestep of a run
    computeevery-timestep computation
    memory_usagetally of memory usage
    -
    -
    -
    -

    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 -LAMMPS.

    -

    Min_cg.cpp is an example of conjugate gradient minimization.

    -

    Here is a brief description of methods you define in your new derived -class. See min.h for details.

    - ---- - - - - - - - - - - - -
    initinitialize the minimization before a run
    runperform the minimization
    memory_usagetally of memory usage
    -
    -
    -
    -

    10.10. Pairwise potentials

    -

    Classes that compute pairwise interactions are derived from the Pair -class. In LAMMPS, pairwise calculation include manybody potentials -such as EAM or Tersoff where particles interact without a static bond -topology. New styles can be created to add new pair potentials to -LAMMPS.

    -

    Pair_lj_cut.cpp is a simple example of a Pair class, though it -includes some optional methods to enable its use with rRESPA.

    -

    Here is a brief description of the class methods in pair.h:

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    computeworkhorse routine that computes pairwise interactions
    settingsreads the input script line with arguments you define
    coeffset coefficients for one i,j type pair
    init_oneperform initialization for one i,j type pair
    init_styleinitialization specific to this pair style
    write & read_restartwrite/read i,j pair coeffs to restart files
    write & read_restart_settingswrite/read global settings to restart files
    singleforce and energy of a single pairwise interaction between 2 atoms
    compute_inner/middle/outerversions of compute used by rRESPA
    -

    The inner/middle/outer routines are optional.

    -
    -
    -
    -

    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 -atoms to create a void, insert atoms in a specified region, etc. New -styles can be created to add new region shapes to LAMMPS.

    -

    Region_sphere.cpp is an example of a spherical region.

    -

    Here is a brief description of methods you define in your new derived -class. See region.h for details.

    - ---- - - - - - - - - - - - - - - -
    insidedetermine whether a point is in the region
    surface_interiordetermine if a point is within a cutoff distance inside of surc
    surface_exteriordetermine if a point is within a cutoff distance outside of surf
    shape_updatechange region shape if set by time-depedent variable
    -
    -
    -
    -

    10.12. Body styles

    -

    Classes that define body particles are derived from the Body class. -Body particles can represent complex entities, such as surface meshes -of discrete points, collections of sub-particles, deformable objects, -etc.

    -

    See Section 6.14 of the manual for -an overview of using body particles and the body doc page -for details on the various body styles LAMMPS supports. New styles -can be created to add new kinds of body particles to LAMMPS.

    -

    Body_nparticle.cpp is an example of a body particle that is treated as -a rigid body containing N sub-particles.

    -

    Here is a brief description of methods you define in your new derived -class. See body.h for details.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data_bodyprocess a line from the Bodies section of a data file
    noutrownumber of sub-particles output is generated for
    noutcolnumber of values per-sub-particle output is generated for
    outputoutput values for the Mth sub-particle
    pack_comm_bodybody attributes to communicate every timestep
    unpack_comm_bodyunpacking of those attributes
    pack_border_bodybody attributes to communicate when reneighboring is done
    unpack_border_bodyunpacking of those attributes
    -
    -
    -
    -

    10.13. Thermodynamic output options

    -

    There is one class that computes and prints thermodynamic information -to the screen and log file; see the file thermo.cpp.

    -

    There are two styles defined in thermo.cpp: “one” and “multi”. There -is also a flexible “custom” style which allows the user to explicitly -list keywords for quantities to print when thermodynamic info is -output. See the thermo_style command for a list -of defined quantities.

    -

    The thermo styles (one, multi, etc) are simply lists of keywords. -Adding a new style thus only requires defining a new list of keywords. -Search for the word “customize” with references to “thermo style” in -thermo.cpp to see the two locations where code will need to be added.

    -

    New keywords can also be added to thermo.cpp to compute new quantities -for output. Search for the word “customize” with references to -“keyword” in thermo.cpp to see the several locations where code will -need to be added.

    -

    Note that the thermo_style custom command already allows -for thermo output of quantities calculated by fixes, -computes, and variables. Thus, it may -be simpler to compute what you wish via one of those constructs, than -by adding a new keyword to the thermo command.

    -
    -
    -
    -

    10.14. Variable options

    -

    There is one class that computes and stores variable -information in LAMMPS; see the file variable.cpp. The value -associated with a variable can be periodically printed to the screen -via the print, fix print, or -thermo_style custom commands. Variables of style -“equal” can compute complex equations that involve the following types -of arguments:

    -
    -thermo keywords = ke, vol, atoms, ...
    -other variables = v_a, v_myvar, ...
    -math functions = div(x,y), mult(x,y), add(x,y), ...
    -group functions = mass(group), xcm(group,x), ...
    -atom values = x[123], y[3], vx[34], ...
    -compute values = c_mytemp[0], c_thermo_press[3], ...
    -
    -

    Adding keywords for the thermo_style custom command -(which can then be accessed by variables) was discussed -here on this page.

    -

    Adding a new math function of one or two arguments can be done by -editing one section of the Variable::evaulate() method. Search for -the word “customize” to find the appropriate location.

    -

    Adding a new group function can be done by editing one section of the -Variable::evaulate() method. Search for the word “customize” to find -the appropriate location. You may need to add a new method to the -Group class as well (see the group.cpp file).

    -

    Accessing a new atom-based vector can be done by editing one section -of the Variable::evaulate() method. Search for the word “customize” -to find the appropriate location.

    -

    Adding new compute styles (whose calculated values can -then be accessed by variables) was discussed -here on this page.

    -
    -
    -

    10.15. Submitting new features for inclusion in LAMMPS

    -

    We encourage users to submit new features or modifications for -LAMMPS to the core developers -so they can be added to the LAMMPS distribution. The preferred way to -manage and coordinate this is as of Fall 2016 via the LAMMPS project on -GitHub. An alternative is to contact -the LAMMPS developers or the indicated developer of a package or feature -directly and send in your contribution via e-mail.

    -

    For any larger modifications or programming project, you are encouraged -to contact the LAMMPS developers ahead of time, in order to discuss -implementation strategies and coding guidelines, that will make it -easier to integrate your contribution and result in less work for -everybody involved. You are also encouraged to search through the list -of open issues on GitHub and -submit a new issue for a planned feature, so you would not duplicate -the work of others (and possibly get scooped by them) or have your work -duplicated by others.

    -

    How quickly your contribution will be integrated -depends largely on how much effort it will cause to integrate and test -it, how much it requires changes to the core codebase, and of how much -interest it is to the larger LAMMPS community. Please see below for a -checklist of typical requirements. Once you have prepared everything, -see this tutorial for instructions on how to -submit your changes or new files through a GitHub pull request. If you -prefer to submit patches or full files, you should first make certain, -that your code works correctly with the latest patch-level version of -LAMMPS and contains all bugfixes from it. Then create a gzipped tar -file of all changed or added files or a corresponding patch file using -‘diff -u’ or ‘diff -c’ and compress it with gzip. Please only use -gzip compression, as this works well on all platforms.

    -

    If the new features/files are broadly useful we may add them as core -files to LAMMPS or as part of a standard package. Else we will add them as a -user-contributed file or package. Examples of user packages are in -src sub-directories that start with USER. The USER-MISC package is -simply a collection of (mostly) unrelated single files, which is the -simplest way to have your contribution quickly added to the LAMMPS -distribution. You can see a list of the both standard and user -packages by typing “make package” in the LAMMPS src directory.

    -

    Note that by providing us files to release, you are agreeing to make -them open-source, i.e. we can release them under the terms of the GPL, -used as a license for the rest of LAMMPS. See Section 1.4 for details.

    -

    With user packages and files, all we are really providing (aside from -the fame and fortune that accompanies having your name in the source -code and on the Authors page -of the LAMMPS WWW site), is a means for you to distribute your -work to the LAMMPS user community, and a mechanism for others to -easily try out your new feature. This may help you find bugs or make -contact with new collaborators. Note that you’re also implicitly -agreeing to support your code which means answer questions, fix bugs, -and maintain it if LAMMPS changes in some way that breaks it (an -unusual event).

    -
    -

    Note

    -

    If you prefer to actively develop and support your add-on -feature yourself, then you may wish to make it available for download -from your own website, as a user package that LAMMPS users can add to -their copy of LAMMPS. See the Offsite LAMMPS packages and tools page of the LAMMPS web -site for examples of groups that do this. We are happy to advertise -your package and web site from that page. Simply email the -developers with info about -your package and we will post it there.

    -
    -

    The previous sections of this doc page describe how to add new “style” -files of various kinds to LAMMPS. Packages are simply collections of -one or more new class files which are invoked as a new style within a -LAMMPS input script. If designed correctly, these additions typically -do not require changes to the main core of LAMMPS; they are simply -add-on files. If you think your new feature requires non-trivial -changes in core LAMMPS files, you’ll need to communicate with the developers, since we may or may -not want to make those changes. An example of a trivial change is -making a parent-class method “virtual” when you derive a new child -class from it.

    -

    Here is a checklist of steps you need to follow to submit a single file -or user package for our consideration. Following these steps will save -both you and us time. See existing files in packages in the src dir for -examples. If you are uncertain, please ask.

    -
      -
    • All source files you provide must compile with the most current -version of LAMMPS with multiple configurations. In particular you -need to test compiling LAMMPS from scratch with -DLAMMPS_BIGBIG -set in addition to the default -DLAMMPS_SMALLBIG setting. Your code -will need to work correctly in serial and in parallel using MPI.
    • -
    • For consistency with the rest of LAMMPS and especially, if you want -your contribution(s) to be added to main LAMMPS code or one of its -standard packages, it needs to be written in a style compatible with -other LAMMPS source files. This means: 2-character indentation per -level, no tabs, no lines over 80 characters. I/O is done via -the C-style stdio library, class header files should not import any -system headers outside <stdio.h>, STL containers should be avoided -in headers, and forward declarations used where possible or needed. -All added code should be placed into the LAMMPS_NS namespace or a -sub-namespace; global or static variables should be avoided, as they -conflict with the modular nature of LAMMPS and the C++ class structure. -Header files must not import namespaces with using. -This all is so the developers can more easily understand, integrate, -and maintain your contribution and reduce conflicts with other parts -of LAMMPS. This basically means that the code accesses data -structures, performs its operations, and is formatted similar to other -LAMMPS source files, including the use of the error class for error -and warning messages.
    • -
    • If you want your contribution to be added as a user-contributed -feature, and it’s a single file (actually a *.cpp and *.h file) it can -rapidly be added to the USER-MISC directory. Send us the one-line -entry to add to the USER-MISC/README file in that dir, along with the -2 source files. You can do this multiple times if you wish to -contribute several individual features.
    • -
    • If you want your contribution to be added as a user-contribution and -it is several related featues, it is probably best to make it a user -package directory with a name like USER-FOO. In addition to your new -files, the directory should contain a README text file. The README -should contain your name and contact information and a brief -description of what your new package does. If your files depend on -other LAMMPS style files also being installed (e.g. because your file -is a derived class from the other LAMMPS class), then an Install.sh -file is also needed to check for those dependencies. See other README -and Install.sh files in other USER directories as examples. Send us a -tarball of this USER-FOO directory.
    • -
    • Your new source files need to have the LAMMPS copyright, GPL notice, -and your name and email address at the top, like other -user-contributed LAMMPS source files. They need to create a class -that is inside the LAMMPS namespace. If the file is for one of the -USER packages, including USER-MISC, then we are not as picky about the -coding style (see above). I.e. the files do not need to be in the -same stylistic format and syntax as other LAMMPS files, though that -would be nice for developers as well as users who try to read your -code.
    • -
    • You must also create a documentation file for each new command or -style you are adding to LAMMPS. For simplicity and convenience, the -documentation of groups of closely related commands or styles may be -combined into a single file. This will be one file for a single-file -feature. For a package, it might be several files. These are simple -text files with a specific markup language, that are then auto-converted -to HTML and PDF. The tools for this conversion are included in the -source distribution, and the translation can be as simple as doing -“make html pdf” in the doc folder. -Thus the documentation source files must be in the same format and -style as other *.txt files in the lammps/doc/src directory for similar -commands and styles; use one or more of them as a starting point. -A description of the markup can also be found in -lammps/doc/utils/txt2html/README.html -As appropriate, the text files can include links to equations -(see doc/Eqs/*.tex for examples, we auto-create the associated JPG -files), or figures (see doc/JPG for examples), or even additional PDF -files with further details (see doc/PDF for examples). The doc page -should also include literature citations as appropriate; see the -bottom of doc/fix_nh.txt for examples and the earlier part of the same -file for how to format the cite itself. The “Restrictions” section of -the doc page should indicate that your command is only available if -LAMMPS is built with the appropriate USER-MISC or USER-FOO package. -See other user package doc files for examples of how to do this. The -prerequiste for building the HTML format files are Python 3.x and -virtualenv, the requirement for generating the PDF format manual -is the htmldoc software. Please run at least -“make html” and carefully inspect and proofread the resuling HTML format -doc page before submitting your code.
    • -
    • For a new package (or even a single command) you should include one or -more example scripts demonstrating its use. These should run in no -more than a couple minutes, even on a single processor, and not require -large data files as input. See directories under examples/USER for -examples of input scripts other users provided for their packages. -These example inputs are also required for validating memory accesses -and testing for memory leaks with valgrind
    • -
    • If there is a paper of yours describing your feature (either the -algorithm/science behind the feature itself, or its initial usage, or -its implementation in LAMMPS), you can add the citation to the *.cpp -source file. See src/USER-EFF/atom_vec_electron.cpp for an example. -A LaTeX citation is stored in a variable at the top of the file and a -single line of code that references the variable is added to the -constructor of the class. Whenever a user invokes your feature from -their input script, this will cause LAMMPS to output the citation to a -log.cite file and prompt the user to examine the file. Note that you -should only use this for a paper you or your group authored. -E.g. adding a cite in the code for a paper by Nose and Hoover if you -write a fix that implements their integrator is not the intended -usage. That kind of citation should just be in the doc page you -provide.
    • -
    -

    Finally, as a general rule-of-thumb, the more clear and -self-explanatory you make your documentation and README files, and the -easier you make it for people to get started, e.g. by providing example -scripts, the more likely it is that users will try out your new feature.

    -

    (Foo) Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997).

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_packages.html b/doc/html/Section_packages.html deleted file mode 100644 index 7638db57c9efbd0d125954278c21a01a8fe9e638..0000000000000000000000000000000000000000 --- a/doc/html/Section_packages.html +++ /dev/null @@ -1,2543 +0,0 @@ - - - - - - - - - - - 4. Packages — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    4. Packages

    -

    This section gives an overview of the add-on optional packages that -extend LAMMPS functionality. Packages are groups of files that enable -a specific set of features. For example, force fields for molecular -systems or granular systems are in packages. You can see the list of -all packages by typing “make package” from within the src directory of -the LAMMPS distribution.

    -

    Here are links for two tables below, which list standard and user -packages.

    - -

    Section 2.3 of the manual describes -the difference between standard packages and user packages. It also -has general details on how to include/exclude specific packages as -part of the LAMMPS build process, and on how to build auxiliary -libraries or modify a machine Makefile if a package requires it.

    -

    Following the two tables below, is a sub-section for each package. It -has a summary of what the package contains. It has specific -instructions on how to install it, build or obtain any auxiliary -library it requires, and any Makefile.machine changes it requires. It -also lists pointers to examples of its use or documentation provided -in the LAMMPS distribution. If you want to know the complete list of -commands that a package adds to LAMMPS, simply list the files in its -directory, e.g. “ls src/GRANULAR”. Source files with names that start -with compute, fix, pair, bond, etc correspond to command styles with -the same names.

    -
    -

    Note

    -

    The USER package sub-sections below are still being filled in, -as of March 2016.

    -
    -

    Unless otherwise noted below, every package is independent of all the -others. I.e. any package can be included or excluded in a LAMMPS -build, independent of all other packages. However, note that some -packages include commands derived from commands in other packages. If -the other package is not installed, the derived command from the new -package will also not be installed when you include the new one. -E.g. the pair lj/cut/coul/long/omp command from the USER-OMP package -will not be installed as part of the USER-OMP package if the KSPACE -package is not also installed, since it contains the pair -lj/cut/coul/long command. If you later install the KSPACE package and -the USER-OMP package is already installed, both the pair -lj/cut/coul/long and lj/cut/coul/long/omp commands will be installed.

    -
    -
    -

    4.1. Standard packages

    -

    The current list of standard packages is as follows. Each package -name links to a sub-section below with more details.

    - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    PackageDescriptionAuthor(s)Doc pageExampleLibrary
    ASPHEREaspherical particles
      -
    • -
    -
    Section 6.6.14ellipse
      -
    • -
    -
    BODYbody-style particles
      -
    • -
    -
    bodybody
      -
    • -
    -
    CLASS2class 2 force fields
      -
    • -
    -
    pair_style lj/class2
      -
    • -
    -
      -
    • -
    -
    COLLOIDcolloidal particlesKumar (1)atom_style colloidcolloid
      -
    • -
    -
    COMPRESSI/O compressionAxel Kohlmeyer (Temple U)dump */gz
      -
    • -
    -
      -
    • -
    -
    CORESHELLadiabatic core/shell modelHendrik Heenen (Technical U of Munich)Section 6.6.25coreshell
      -
    • -
    -
    DIPOLEpoint dipole particles
      -
    • -
    -
    pair_style dipole/cutdipole
      -
    • -
    -
    GPUGPU-enabled stylesMike Brown (ORNL)Section accelerategpulib/gpu
    GRANULARgranular systems
      -
    • -
    -
    Section 6.6.6pour
      -
    • -
    -
    KIMopenKIM potentialsSmirichinski & Elliot & Tadmor (3)pair_style kimkimKIM
    KOKKOSKokkos-enabled stylesTrott & Moore (4)Section 5kokkoslib/kokkos
    KSPACElong-range Coulombic solvers
      -
    • -
    -
    kspace_stylepeptide
      -
    • -
    -
    MANYBODYmany-body potentials
      -
    • -
    -
    pair_style tersoffshear
      -
    • -
    -
    MEAMmodified EAM potentialGreg Wagner (Sandia)pair_style meammeamlib/meam
    MCMonte Carlo options
      -
    • -
    -
    fix gcmc
      -
    • -
    -
      -
    • -
    -
    MOLECULEmolecular system force fields
      -
    • -
    -
    Section 6.6.3peptide
      -
    • -
    -
    OPToptimized pair stylesFischer & Richie & Natoli (2)Section accelerate
      -
    • -
    -
      -
    • -
    -
    PERIPeridynamics modelsMike Parks (Sandia)pair_style periperi
      -
    • -
    -
    POEMScoupled rigid body motionRudra Mukherjee (JPL)fix poemsrigidlib/poems
    PYTHONembed Python code in an input script
      -
    • -
    -
    pythonpythonlib/python
    REAXReaxFF potentialAidan Thompson (Sandia)pair_style reaxreaxlib/reax
    REPLICAmulti-replica methods
      -
    • -
    -
    Section 6.6.5tad
      -
    • -
    -
    RIGIDrigid bodies
      -
    • -
    -
    fix rigidrigid
      -
    • -
    -
    SHOCKshock loading methods
      -
    • -
    -
    fix msst
      -
    • -
    -
      -
    • -
    -
    SNAPquantum-fit potentialAidan Thompson (Sandia)pair snapsnap
      -
    • -
    -
    SRDstochastic rotation dynamics
      -
    • -
    -
    fix srdsrd
      -
    • -
    -
    VORONOIVoronoi tesselationsDaniel Schwen (LANL)compute voronoi/atom
      -
    • -
    -
    Voro++
          
    -

    The “Authors” column lists a name(s) if a specific person is -responible for creating and maintaining the package.

    -

    (1) The COLLOID package includes Fast Lubrication Dynamics pair styles -which were created by Amit Kumar and Michael Bybee from Jonathan -Higdon’s group at UIUC.

    -

    (2) The OPT package was created by James Fischer (High Performance -Technologies), David Richie, and Vincent Natoli (Stone Ridge -Technolgy).

    -

    (3) The KIM package was created by Valeriu Smirichinski, Ryan Elliott, -and Ellad Tadmor (U Minn).

    -

    (4) The KOKKOS package was created primarily by Christian Trott and -Stan Moore (Sandia). It uses the Kokkos library which was developed -by Carter Edwards, Christian Trott, and others at Sandia.

    -

    The “Doc page” column links to either a sub-section of the -Section 6 of the manual, or an input script -command implemented as part of the package, or to additional -documentation provided within the package.

    -

    The “Example” column is a sub-directory in the examples directory of -the distribution which has an input script that uses the package. -E.g. “peptide” refers to the examples/peptide directory.

    -

    The “Library” column lists an external library which must be built -first and which LAMMPS links to when it is built. If it is listed as -lib/package, then the code for the library is under the lib directory -of the LAMMPS distribution. See the lib/package/README file for info -on how to build the library. If it is not listed as lib/package, then -it is a third-party library not included in the LAMMPS distribution. -See details on all of this below for individual packages. -p.s.: are we ever going to get commit messages from you? ;-)

    -
    -
    -

    4.1.1. ASPHERE package

    -

    Contents: Several computes, time-integration fixes, and pair styles -for aspherical particle models: ellipsoids, 2d lines, 3d triangles.

    -

    To install via make or Make.py:

    -
    make yes-asphere
    -make machine
    -
    -
    -
    Make.py -p asphere -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-asphere
    -make machine
    -
    -
    -
    -Make.py -p ^asphere -a machine
    -
    -

    Supporting info: Section howto 6.14, -pair_style gayberne, pair_style resquared, -doc/PDF/pair_gayberne_extra.pdf, -doc/PDF/pair_resquared_extra.pdf, -examples/ASPHERE, examples/ellipse

    -
    -
    -
    -

    4.1.2. BODY package

    -

    Contents: Support for body-style particles. Computes, -time-integration fixes, pair styles, as well as the body styles -themselves. See the body doc page for an overview.

    -

    To install via make or Make.py:

    -
    make yes-body
    -make machine
    -
    -
    -
    Make.py -p body -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-body
    -make machine
    -
    -
    -
    -Make.py -p ^body -a machine
    -
    -

    Supporting info: atom_style body, body, -pair_style body, examples/body

    -
    -
    -
    -

    4.1.3. CLASS2 package

    -

    Contents: Bond, angle, dihedral, improper, and pair styles for the -COMPASS CLASS2 molecular force field.

    -

    To install via make or Make.py:

    -
    make yes-class2
    -make machine
    -
    -
    -
    Make.py -p class2 -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-class2
    -make machine
    -
    -
    -
    -Make.py -p ^class2 -a machine
    -
    -

    Supporting info: bond_style class2, angle_style class2, dihedral_style class2, improper_style class2, pair_style lj/class2

    -
    -
    -
    -

    4.1.4. COLLOID package

    -

    Contents: Support for coarse-grained colloidal particles. Wall fix -and pair styles that implement colloidal interaction models for -finite-size particles. This includes the Fast Lubrication Dynamics -method for hydrodynamic interactions, which is a simplified -approximation to Stokesian dynamics.

    -

    To install via make or Make.py:

    -
    make yes-colloid
    -make machine
    -
    -
    -
    Make.py -p colloid -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-colloid
    -make machine
    -
    -
    -
    -Make.py -p ^colloid -a machine
    -
    -

    Supporting info: fix wall/colloid, pair_style colloid, pair_style yukawa/colloid, pair_style brownian, pair_style lubricate, pair_style lubricateU, examples/colloid, examples/srd

    -
    -
    -
    -

    4.1.5. COMPRESS package

    -

    Contents: Support for compressed output of dump files via the zlib -compression library, using dump styles with a “gz” in their style -name.

    -

    Building with the COMPRESS package assumes you have the zlib -compression library available on your system. The build uses the -lib/compress/Makefile.lammps file in the compile/link process. You -should only need to edit this file if the LAMMPS build cannot find the -zlib info it specifies.

    -

    To install via make or Make.py:

    -
    make yes-compress
    -make machine
    -
    -
    -
    Make.py -p compress -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-compress
    -make machine
    -
    -
    -
    -Make.py -p ^compress -a machine
    -
    -

    Supporting info: src/COMPRESS/README, lib/compress/README, dump atom/gz, dump cfg/gz, dump custom/gz, dump xyz/gz

    -
    -
    -
    -

    4.1.6. CORESHELL package

    -

    Contents: Compute and pair styles that implement the adiabatic -core/shell model for polarizability. The compute temp/cs command -measures the temperature of a system with core/shell particles. The -pair styles augment Born, Buckingham, and Lennard-Jones styles with -core/shell capabilities. See Section howto 6.26 for an overview of how to use the -package.

    -

    To install via make or Make.py:

    -
    make yes-coreshell
    -make machine
    -
    -
    -
    Make.py -p coreshell -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-coreshell
    -make machine
    -
    -
    -
    -Make.py -p ^coreshell -a machine
    -
    -

    Supporting info: Section howto 6.26, compute temp/cs, -pair_style born/coul/long/cs, pair_style buck/coul/long/cs, pair_style -lj/cut/coul/long/cs”_pair_lj.html, examples/coreshell

    -
    -
    -
    -

    4.1.7. DIPOLE package

    -

    Contents: An atom style and several pair styles to support point -dipole models with short-range or long-range interactions.

    -

    To install via make or Make.py:

    -
    make yes-dipole
    -make machine
    -
    -
    -
    Make.py -p dipole -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-dipole
    -make machine
    -
    -
    -
    -Make.py -p ^dipole -a machine
    -
    -

    Supporting info: atom_style dipole, pair_style lj/cut/dipole/cut, pair_style lj/cut/dipole/long, pair_style lj/long/dipole/long, examples/dipole

    -
    -
    -
    -

    4.1.8. GPU package

    -

    Contents: Dozens of pair styles and a version of the PPPM long-range -Coulombic solver for NVIDIA GPUs. All of them have a “gpu” in their -style name. Section accelerate gpu gives -details of what hardware and Cuda software is required on your system, -and how to build and use this package. See the KOKKOS package, which -also has GPU-enabled styles.

    -

    Building LAMMPS with the GPU package requires first building the GPU -library itself, which is a set of C and Cuda files in lib/gpu. -Details of how to do this are in lib/gpu/README. As illustrated -below, perform a “make” using one of the Makefile.machine files in -lib/gpu which should create a lib/reax/libgpu.a file. -Makefile.linux.* and Makefile.xk7 are examples for different -platforms. There are 3 important settings in the Makefile.machine you -use:

    -
      -
    • CUDA_HOME = where NVIDIA Cuda software is installed on your system
    • -
    • CUDA_ARCH = appropriate to your GPU hardware
    • -
    • CUDA_PREC = precision (double, mixed, single) you desire
    • -
    -

    See example Makefile.machine files in lib/gpu for the syntax of these -settings. See lib/gpu/Makefile.linux.double for ARCH settings for -various NVIDIA GPUs. The “make” also creates a -lib/gpu/Makefile.lammps file. This file has settings that enable -LAMMPS to link with Cuda libraries. If the settings in -Makefile.lammps for your machine are not correct, the LAMMPS link will -fail. Note that the Make.py script has a “-gpu” option to allow the -GPU library (with several of its options) and LAMMPS to be built in -one step, with Type “python src/Make.py -h -gpu” to see the details.

    -

    To install via make or Make.py:

    -
    cd ~/lammps/lib/gpu
    -make -f Makefile.linux.mixed     # for example
    -cd ~/lammps/src
    -make yes-gpu
    -make machine
    -
    -
    -
    Make.py -p gpu -gpu mode=mixed arch=35 -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-gpu
    -make machine
    -
    -
    -
    -Make.py -p ^gpu -a machine
    -
    -

    Supporting info: src/GPU/README, lib/gpu/README, Section acclerate, Section accelerate gpu, Pair Styles section of Section commands 3.5 for any pair style listed with a (g), -kspace_style, package gpu, -examples/accelerate, bench/FERMI, bench/KEPLER

    -
    -
    -
    -

    4.1.9. GRANULAR package

    -

    Contents: Fixes and pair styles that support models of finite-size -granular particles, which interact with each other and boundaries via -frictional and dissipative potentials.

    -

    To install via make or Make.py:

    -
    make yes-granular
    -make machine
    -
    -
    -
    Make.py -p granular -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-granular
    -make machine
    -
    -
    -
    -Make.py -p ^granular -a machine
    -
    -

    Supporting info: Section howto 6.6, fix pour, fix wall/gran, pair_style gran/hooke, pair_style gran/hertz/history, examples/pour, bench/in.chute

    -
    -
    -
    -

    4.1.10. KIM package

    -

    Contents: A pair style that interfaces to the Knowledge Base for -Interatomic Models (KIM) repository of interatomic potentials, so that -KIM potentials can be used in a LAMMPS simulation.

    -

    To build LAMMPS with the KIM package you must have previously -installed the KIM API (library) on your system. The lib/kim/README -file explains how to download and install KIM. Building with the KIM -package also uses the lib/kim/Makefile.lammps file in the compile/link -process. You should not need to edit this file.

    -

    To install via make or Make.py:

    -
    make yes-kim
    -make machine
    -
    -
    -
    Make.py -p kim -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-kim
    -make machine
    -
    -
    -
    -Make.py -p ^kim -a machine
    -
    -

    Supporting info: src/KIM/README, lib/kim/README, pair_style kim, examples/kim

    -
    -
    -
    -

    4.1.11. KOKKOS package

    -

    Contents: Dozens of atom, pair, bond, angle, dihedral, improper styles -which run with the Kokkos library to provide optimization for -multicore CPUs (via OpenMP), NVIDIA GPUs, or the Intel Xeon Phi (in -native mode). All of them have a “kk” in their style name. Section accelerate kokkos gives details of what -hardware and software is required on your system, and how to build and -use this package. See the GPU, OPT, USER-INTEL, USER-OMP packages, -which also provide optimizations for the same range of hardware.

    -

    Building with the KOKKOS package requires choosing which of 3 hardware -options you are optimizing for: CPU acceleration via OpenMP, GPU -acceleration, or Intel Xeon Phi. (You can build multiple times to -create LAMMPS executables for different hardware.) It also requires a -C++11 compatible compiler. For GPUs, the NVIDIA “nvcc” compiler is -used, and an appopriate KOKKOS_ARCH setting should be made in your -Makefile.machine for your GPU hardware and NVIDIA software.

    -

    The simplest way to do this is to use Makefile.kokkos_cuda or -Makefile.kokkos_omp or Makefile.kokkos_phi in src/MAKE/OPTIONS, via -“make kokkos_cuda” or “make kokkos_omp” or “make kokkos_phi”. (Check -the KOKKOS_ARCH setting in Makefile.kokkos_cuda), Or, as illustrated -below, you can use the Make.py script with its “-kokkos” option to -choose which hardware to build for. Type “python src/Make.py -h --kokkos” to see the details. If these methods do not work on your -system, you will need to read the Section accelerate kokkos doc page for details of what -Makefile.machine settings are needed.

    -

    To install via make or Make.py for each of 3 hardware options:

    -
    -make yes-kokkos
    -make kokkos_omp    # for CPUs with OpenMP
    -make kokkos_cuda   # for GPUs, check the KOKKOS_ARCH setting in Makefile.kokkos_cuda
    -make kokkos_phi    # for Xeon Phis
    -
    -

    Make.py -p kokkos -kokkos omp -a machine # for CPUs with OpenMP -Make.py -p kokkos -kokkos cuda arch=35 -a machine # for GPUs of style arch -Make.py -p kokkos -kokkos phi -a machine # for Xeon Phis

    -

    To un-install via make or Make.py:

    -
    make no-kokkos
    -make machine
    -
    -
    -
    -Make.py -p ^kokkos -a machine
    -
    -

    Supporting info: src/KOKKOS/README, lib/kokkos/README, Section acclerate, Section accelerate kokkos, Pair Styles section of Section commands 3.5 for any pair style listed -with a (k), package kokkos, -examples/accelerate, bench/FERMI, bench/KEPLER

    -
    -
    -
    -

    4.1.12. KSPACE package

    -

    Contents: A variety of long-range Coulombic solvers, and pair styles -which compute the corresponding short-range portion of the pairwise -Coulombic interactions. These include Ewald, particle-particle -particle-mesh (PPPM), and multilevel summation method (MSM) solvers.

    -

    Building with the KSPACE package requires a 1d FFT library be present -on your system for use by the PPPM solvers. This can be the KISS FFT -library provided with LAMMPS, or 3rd party libraries like FFTW or a -vendor-supplied FFT library. See step 6 of Section start 2.2.2 of the manual for details of how -to select different FFT options in your machine Makefile. The Make.py -tool has an “-fft” option which can insert these settings into your -machine Makefile automatically. Type “python src/Make.py -h -fft” to -see the details.

    -

    To install via make or Make.py:

    -
    make yes-kspace
    -make machine
    -
    -
    -
    Make.py -p kspace -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-kspace
    -make machine
    -
    -
    -
    -Make.py -p ^kspace -a machine
    -
    -

    Supporting info: kspace_style, -doc/PDF/kspace.pdf, Section howto 6.7, Section howto 6.8, Section howto 6.9, pair_style coul, -other pair style command doc pages which have “long” or “msm” in their -style name, examples/peptide, bench/in.rhodo

    -
    -
    -
    -

    4.1.13. MANYBODY package

    -

    Contents: A variety of many-body and bond-order potentials. These -include (AI)REBO, EAM, EIM, BOP, Stillinger-Weber, and Tersoff -potentials. Do a directory listing, “ls src/MANYBODY”, to see -the full list.

    -

    To install via make or Make.py:

    -
    make yes-manybody
    -make machine
    -
    -
    -
    Make.py -p manybody -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-manybody
    -make machine
    -
    -
    -
    -Make.py -p ^manybody -a machine
    -
    -

    Supporting info:

    -

    Examples: Pair Styles section of Section commands 3.5, examples/comb, examples/eim, -examples/nb3d, examples/vashishta

    -
    -
    -
    -

    4.1.14. MC package

    -

    Contents: Several fixes and a pair style that have Monte Carlo (MC) or -MC-like attributes. These include fixes for creating, breaking, and -swapping bonds, and for performing atomic swaps and grand-canonical MC -in conjuction with dynamics.

    -

    To install via make or Make.py:

    -
    make yes-mc
    -make machine
    -
    -
    -
    Make.py -p mc -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-mc
    -make machine
    -
    -
    -
    -Make.py -p ^mc -a machine
    -
    -

    Supporting info: fix atom/swap, fix bond/break, fix bond/create, fix bond/swap, -fix gcmc, pair_style dsmc

    -
    -
    -
    -

    4.1.15. MEAM package

    -

    Contents: A pair style for the modified embedded atom (MEAM) -potential.

    -

    Building LAMMPS with the MEAM package requires first building the MEAM -library itself, which is a set of Fortran 95 files in lib/meam. -Details of how to do this are in lib/meam/README. As illustrated -below, perform a “make” using one of the Makefile.machine files in -lib/meam which should create a lib/meam/libmeam.a file. -Makefile.gfortran and Makefile.ifort are examples for the GNU Fortran -and Intel Fortran compilers. The “make” also copies a -lib/meam/Makefile.lammps.machine file to lib/meam/Makefile.lammps. -This file has settings that enable the C++ compiler used to build -LAMMPS to link with a Fortran library (typically the 2 compilers to be -consistent e.g. both Intel compilers, or both GNU compilers). If the -settings in Makefile.lammps for your compilers and machine are not -correct, the LAMMPS link will fail. Note that the Make.py script has -a “-meam” option to allow the MEAM library and LAMMPS to be built in -one step. Type “python src/Make.py -h -meam” to see the details.

    -
    -

    Note

    -

    The MEAM potential can run dramatically faster if built with the -Intel Fortran compiler, rather than the GNU Fortran compiler.

    -
    -

    To install via make or Make.py:

    -
    cd ~/lammps/lib/meam
    -make -f Makefile.gfortran    # for example
    -cd ~/lammps/src
    -make yes-meam
    -make machine
    -
    -
    -
    Make.py -p meam -meam make=gfortran -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-meam
    -make machine
    -
    -
    -
    -Make.py -p ^meam -a machine
    -
    -

    Supporting info: lib/meam/README, pair_style meam, -examples/meam

    -
    -
    -
    -

    4.1.16. MISC package

    -

    Contents: A variety of computes, fixes, and pair styles that are not -commonly used, but don’t align with other packages. Do a directory -listing, “ls src/MISC”, to see the list of commands.

    -

    To install via make or Make.py:

    -
    make yes-misc
    -make machine
    -
    -
    -
    Make.py -p misc -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-misc
    -make machine
    -
    -
    -
    -Make.py -p ^misc -a machine
    -
    -

    Supporting info: compute ti, fix evaporate, fix tmm, fix viscosity, examples/misc

    -
    -
    -
    -

    4.1.17. MOLECULE package

    -

    Contents: A large number of atom, pair, bond, angle, dihedral, -improper styles that are used to model molecular systems with fixed -covalent bonds. The pair styles include terms for the Dreiding -(hydrogen-bonding) and CHARMM force fields, and TIP4P water model.

    -

    To install via make or Make.py:

    -
    make yes-molecule
    -make machine
    -
    -
    -
    Make.py -p molecule -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-molecule
    -make machine
    -
    -
    -
    -Make.py -p ^molecule -a machine
    -
    -

    Supporting info:atom_style, -bond_style, angle_style, -dihedral_style, -improper_style, pair_style hbond/dreiding/lj, pair_style lj/charmm/coul/charmm, Section howto 6.3, examples/micelle, examples/peptide, -bench/in.chain, bench/in.rhodo

    -
    -
    -
    -

    4.1.18. MPIIO package

    -

    Contents: Support for parallel output/input of dump and restart files -via the MPIIO library, which is part of the standard message-passing -interface (MPI) library. It adds dump styles with a -“mpiio” in their style name. Restart files with an ”.mpiio” suffix -are also written and read in parallel.

    -

    To install via make or Make.py:

    -
    make yes-mpiio
    -make machine
    -
    -
    -
    Make.py -p mpiio -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-mpiio
    -make machine
    -
    -
    -
    -Make.py -p ^mpiio -a machine
    -
    -

    Supporting info: dump, restart, -write_restart, read_restart

    -
    -
    -
    -

    4.1.19. OPT package

    -

    Contents: A handful of pair styles with an “opt” in their style name -which are optimized for improved CPU performance on single or multiple -cores. These include EAM, LJ, CHARMM, and Morse potentials. Section accelerate opt gives details of how to build and -use this package. See the KOKKOS, USER-INTEL, and USER-OMP packages, -which also have styles optimized for CPU performance.

    -

    Some C++ compilers, like the Intel compiler, require the compile flag -“-restrict” to build LAMMPS with the OPT package. It should be added -to the CCFLAGS line of your Makefile.machine. Or use Makefile.opt in -src/MAKE/OPTIONS, via “make opt”. For compilers that use the flag, -the Make.py command adds it automatically to the Makefile.auto file it -creates and uses.

    -

    To install via make or Make.py:

    -
    make yes-opt
    -make machine
    -
    -
    -
    Make.py -p opt -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-opt
    -make machine
    -
    -
    -
    -Make.py -p ^opt -a machine
    -
    -

    Supporting info: Section acclerate, Section accelerate opt, Pair Styles section of Section commands 3.5 for any pair style listed -with an (o), examples/accelerate, bench/KEPLER

    -
    -
    -
    -

    4.1.20. PERI package

    -

    Contents: Support for the Peridynamics method, a particle-based -meshless continuum model. The package includes an atom style, several -computes which calculate diagnostics, and several Peridynamic pair -styles which implement different materials models.

    -

    To install via make or Make.py:

    -
    make yes-peri
    -make machine
    -
    -
    -
    Make.py -p peri -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-peri
    -make machine
    -
    -
    -
    -Make.py -p ^peri -a machine
    -
    -

    Supporting info: -doc/PDF/PDLammps_overview.pdf, -doc/PDF/PDLammps_EPS.pdf, -doc/PDF/PDLammps_VES.pdf, atom_style peri, compute damage/atom, -pair_style peri/pmb, examples/peri

    -
    -
    -
    -

    4.1.21. POEMS package

    -

    Contents: A fix that wraps the Parallelizable Open source Efficient -Multibody Software (POEMS) librar, which is able to simulate the -dynamics of articulated body systems. These are systems with multiple -rigid bodies (collections of atoms or particles) whose motion is -coupled by connections at hinge points.

    -

    Building LAMMPS with the POEMS package requires first building the -POEMS library itself, which is a set of C++ files in lib/poems. -Details of how to do this are in lib/poems/README. As illustrated -below, perform a “make” using one of the Makefile.machine files in -lib/poems which should create a lib/meam/libpoems.a file. -Makefile.g++ and Makefile.icc are examples for the GNU and Intel C++ -compilers. The “make” also creates a lib/poems/Makefile.lammps file -which you should not need to change. Note the Make.py script has a -“-poems” option to allow the POEMS library and LAMMPS to be built in -one step. Type “python src/Make.py -h -poems” to see the details.

    -

    To install via make or Make.py:

    -
    cd ~/lammps/lib/poems
    -make -f Makefile.g++    # for example
    -cd ~/lammps/src
    -make yes-poems
    -make machine
    -
    -
    -
    Make.py -p poems -poems make=g++ -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-meam
    -make machine
    -
    -
    -
    -Make.py -p ^meam -a machine
    -
    -

    Supporting info: src/POEMS/README, lib/poems/README, -fix poems, examples/rigid

    -
    -
    -
    -

    4.1.22. PYTHON package

    -

    Contents: A python command which allow you to execute -Python code from a LAMMPS input script. The code can be in a separate -file or embedded in the input script itself. See Section python 11.2 for an overview of using Python from -LAMMPS and for other ways to use LAMMPS and Python together.

    -

    Building with the PYTHON package assumes you have a Python shared -library available on your system, which needs to be a Python 2 -version, 2.6 or later. Python 3 is not supported. The build uses the -contents of the lib/python/Makefile.lammps file to find all the Python -files required in the build/link process. See the lib/python/README -file if the settings in that file do not work on your system. Note -that the Make.py script has a “-python” option to allow an alternate -lib/python/Makefile.lammps file to be specified and LAMMPS to be built -in one step. Type “python src/Make.py -h -python” to see the details.

    -

    To install via make or Make.py:

    -
    make yes-python
    -make machine
    -
    -
    -
    Make.py -p python -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-python
    -make machine
    -
    -
    -
    -Make.py -p ^python -a machine
    -
    -

    Supporting info: examples/python

    -
    -
    -
    -

    4.1.23. QEQ package

    -

    Contents: Several fixes for performing charge equilibration (QEq) via -severeal different algorithms. These can be used with pair styles -that use QEq as part of their formulation.

    -

    To install via make or Make.py:

    -
    make yes-qeq
    -make machine
    -
    -
    -
    Make.py -p qeq -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-qeq
    -make machine
    -
    -
    -
    -Make.py -p ^qeq -a machine
    -
    -

    Supporting info: fix qeq/*, examples/qeq

    -
    -
    -
    -

    4.1.24. REAX package

    -

    Contents: A pair style for the ReaxFF potential, a universal reactive -force field, as well as a fix reax/bonds command -for monitoring molecules as bonds are created and destroyed.

    -

    Building LAMMPS with the REAX package requires first building the REAX -library itself, which is a set of Fortran 95 files in lib/reax. -Details of how to do this are in lib/reax/README. As illustrated -below, perform a “make” using one of the Makefile.machine files in -lib/reax which should create a lib/reax/libreax.a file. -Makefile.gfortran and Makefile.ifort are examples for the GNU Fortran -and Intel Fortran compilers. The “make” also copies a -lib/reax/Makefile.lammps.machine file to lib/reax/Makefile.lammps. -This file has settings that enable the C++ compiler used to build -LAMMPS to link with a Fortran library (typically the 2 compilers to be -consistent e.g. both Intel compilers, or both GNU compilers). If the -settings in Makefile.lammps for your compilers and machine are not -correct, the LAMMPS link will fail. Note that the Make.py script has -a “-reax” option to allow the REAX library and LAMMPS to be built in -one step. Type “python src/Make.py -h -reax” to see the details.

    -

    To install via make or Make.py:

    -
    cd ~/lammps/lib/reax
    -make -f Makefile.gfortran    # for example
    -cd ~/lammps/src
    -make yes-reax
    -make machine
    -
    -
    -
    Make.py -p reax -reax make=gfortran -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-reax
    -make machine
    -
    -
    -
    -Make.py -p ^reax -a machine
    -
    -

    Supporting info: lib/reax/README, pair_style reax, -fix reax/bonds, examples/reax

    -
    -
    -
    -

    4.1.25. REPLICA package

    -

    Contents: A collection of multi-replica methods that are used by -invoking multiple instances (replicas) of LAMMPS -simulations. Communication between individual replicas is performed in -different ways by the different methods. See Section howto 6.5 for an overview of how to run -multi-replica simulations in LAMMPS. Multi-replica methods included -in the package are nudged elastic band (NEB), parallel replica -dynamics (PRD), temperature accelerated dynamics (TAD), parallel -tempering, and a verlet/split algorithm for performing long-range -Coulombics on one set of processors, and the remainded of the force -field calcalation on another set.

    -

    To install via make or Make.py:

    -
    make yes-replica
    -make machine
    -
    -
    -
    Make.py -p replica -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-replica
    -make machine
    -
    -
    -
    -Make.py -p ^replica -a machine
    -
    -

    Supporting info: Section howto 6.5, -neb, prd, tad, temper, -run_style verlet/split, examples/neb, examples/prd, -examples/tad

    -
    -
    -
    -

    4.1.26. RIGID package

    -

    Contents: A collection of computes and fixes which enforce rigid -constraints on collections of atoms or particles. This includes SHAKE -and RATTLE, as well as variants of rigid-body time integrators for a -few large bodies or many small bodies.

    -

    To install via make or Make.py:

    -
    make yes-rigid
    -make machine
    -
    -
    -
    Make.py -p rigid -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-rigid
    -make machine
    -
    -
    -
    -Make.py -p ^rigid -a machine
    -
    -

    Supporting info: compute erotate/rigid, -fix shake, fix rattle, fix rigid/*, examples/ASPHERE, examples/rigid

    -
    -
    -
    -

    4.1.27. SHOCK package

    -

    Contents: A small number of fixes useful for running impact -simulations where a shock-wave passes through a material.

    -

    To install via make or Make.py:

    -
    make yes-shock
    -make machine
    -
    -
    -
    Make.py -p shock -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-shock
    -make machine
    -
    -
    -
    -Make.py -p ^shock -a machine
    -
    -

    Supporting info: fix append/atoms, fix msst, fix nphug, fix wall/piston, examples/hugoniostat, examples/msst

    -
    -
    -
    -

    4.1.28. SNAP package

    -

    Contents: A pair style for the spectral neighbor analysis potential -(SNAP), which is an empirical potential which can be quantum accurate -when fit to an archive of DFT data. Computes useful for analyzing -properties of the potential are also included.

    -

    To install via make or Make.py:

    -
    make yes-snap
    -make machine
    -
    -
    -
    Make.py -p snap -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-snap
    -make machine
    -
    -
    -
    -Make.py -p ^snap -a machine
    -
    -

    Supporting info: pair snap, compute sna/atom, compute snad/atom, -compute snav/atom, examples/snap

    -
    -
    -
    -

    4.1.29. SRD package

    -

    Contents: Two fixes which implement the Stochastic Rotation Dynamics -(SRD) method for coarse-graining of a solvent, typically around large -colloidal-scale particles.

    -

    To install via make or Make.py:

    -
    make yes-srd
    -make machine
    -
    -
    -
    Make.py -p srd -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-srd
    -make machine
    -
    -
    -
    -Make.py -p ^srd -a machine
    -
    -

    Supporting info: fix srd, fix wall/srd, examples/srd, examples/ASPHERE

    -
    -
    -
    -

    4.1.30. VORONOI package

    -

    Contents: A compute voronoi/atom command -which computes the Voronoi tesselation of a collection of atoms or -particles by wrapping the Voro++ lib

    -

    To build LAMMPS with the KIM package you must have previously -installed the KIM API (library) on your system. The lib/kim/README -file explains how to download and install KIM. Building with the KIM -package also uses the lib/kim/Makefile.lammps file in the compile/link -process. You should not need to edit this file.

    -

    To build LAMMPS with the VORONOI package you must have previously -installed the Voro++ library on your system. The lib/voronoi/README -file explains how to download and install Voro++. There is a -lib/voronoi/install.py script which automates the process. Type -“python install.py” to see instructions. The final step is to create -soft links in the lib/voronoi directory for “includelink” and -“liblink” which point to installed Voro++ directories. Building with -the VORONOI package uses the contents of the -lib/voronoi/Makefile.lammps file in the compile/link process. You -should not need to edit this file. Note that the Make.py script has a -“-voronoi” option to allow the Voro++ library to be downloaded and/or -installed and LAMMPS to be built in one step. Type “python -src/Make.py -h -voronoi” to see the details.

    -

    To install via make or Make.py:

    -
    cd ~/lammps/lib/voronoi
    -python install.py -g -b -l    # download Voro++, build in lib/voronoi, create links
    -cd ~/lammps/src
    -make yes-voronoi
    -make machine
    -
    -
    -
    Make.py -p voronoi -voronoi install="-g -b -l" -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-voronoi
    -make machine
    -
    -
    -
    -Make.py -p ^voronoi -a machine
    -
    -

    Supporting info: src/VORONOI/README, lib/voronoi/README, compute voronoi/atom, examples/voronoi

    -
    -
    -
    -
    -

    4.2. User packages

    -

    The current list of user-contributed packages is as follows:

    - --------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    PackageDescriptionAuthor(s)Doc pageExamplePic/movieLibrary
    USER-ATCatom-to-continuum couplingJones & Templeton & Zimmerman (1)fix atcUSER/atcatclib/atc
    USER-AWPMDwave-packet MDIlya Valuev (JIHT)pair_style awpmd/cutUSER/awpmd
      -
    • -
    -
    lib/awpmd
    USER-CG-CMMcoarse-graining modelAxel Kohlmeyer (Temple U)pair_style lj/sdkUSER/cg-cmmcg
      -
    • -
    -
    USER-COLVARScollective variablesFiorin & Henin & Kohlmeyer (2)fix colvarsUSER/colvarscolvarslib/colvars
    USER-DIFFRACTIONvirutal x-ray and electron diffractionShawn Coleman (ARL)compute xrdUSER/diffraction
      -
    • -
    -
      -
    • -
    -
    USER-DPDreactive dissipative particle dynamics (DPD)Larentzos & Mattox & Brennan (5)src/USER-DPD/READMEUSER/dpd
      -
    • -
    -
      -
    • -
    -
    USER-DRUDEDrude oscillatorsDequidt & Devemy & Padua (3)tutorialUSER/drude
      -
    • -
    -
      -
    • -
    -
    USER-EFFelectron force fieldAndres Jaramillo-Botero (Caltech)pair_style eff/cutUSER/effeff
      -
    • -
    -
    USER-FEPfree energy perturbationAgilio Padua (U Blaise Pascal Clermont-Ferrand)compute fepUSER/fep
      -
    • -
    -
      -
    • -
    -
    USER-H5MDdump output via HDF5Pierre de Buyl (KU Leuven)dump h5md
      -
    • -
    -
      -
    • -
    -
    lib/h5md
    USER-INTELVectorized CPU and Intel(R) coprocessor styles
      -
    1. Michael Brown (Intel)
    2. -
    -
    Section accelerateexamples/intel
      -
    • -
    -
      -
    • -
    -
    USER-LBLattice Boltzmann fluidColin Denniston (U Western Ontario)fix lb/fluidUSER/lb
      -
    • -
    -
      -
    • -
    -
    USER-MGPTfast MGPT multi-ion potentialsTomas Oppelstrup & John Moriarty (LLNL)pair_style mgptUSER/mgpt
      -
    • -
    -
      -
    • -
    -
    USER-MISCsingle-file contributionsUSER-MISC/READMEUSER-MISC/README
      -
    • -
    -
      -
    • -
    -
      -
    • -
    -
    USER-MANIFOLDmotion on 2d surfaceStefan Paquay (Eindhoven U of Technology)fix manifoldforceUSER/manifoldmanifold
      -
    • -
    -
    USER-MOLFILEVMD molfile plug-insAxel Kohlmeyer (Temple U)dump molfile
      -
    • -
    -
      -
    • -
    -
    VMD-MOLFILE
    USER-OMPOpenMP threaded stylesAxel Kohlmeyer (Temple U)Section accelerate
      -
    • -
    -
      -
    • -
    -
      -
    • -
    -
    USER-PHONONphonon dynamical matrixLing-Ti Kong (Shanghai Jiao Tong U)fix phononUSER/phonon
      -
    • -
    -
      -
    • -
    -
    USER-QMMMQM/MM couplingAxel Kohlmeyer (Temple U)fix qmmmUSER/qmmm
      -
    • -
    -
    lib/qmmm
    USER-QTBquantum nuclear effectsYuan Shen (Stanford)fix qtb fix qbmsstqtb
      -
    • -
    -
      -
    • -
    -
    USER-QUIPQUIP/libatoms interfaceAlbert Bartok-Partay (U Cambridge)pair_style quipUSER/quip
      -
    • -
    -
    lib/quip
    USER-REAXCC version of ReaxFFMetin Aktulga (LBNL)pair_style reaxcreax
      -
    • -
    -
      -
    • -
    -
    USER-SMDsmoothed Mach dynamicsGeorg Ganzenmuller (EMI)SMD User GuideUSER/smd
      -
    • -
    -
      -
    • -
    -
    USER-SMTBQSecond Moment Tight Binding - QEq potentialSalles & Maras & Politano & Tetot (4)pair_style smtbqUSER/smtbq
      -
    • -
    -
      -
    • -
    -
    USER-SPHsmoothed particle hydrodynamicsGeorg Ganzenmuller (EMI)SPH User GuideUSER/sphsph
      -
    • -
    -
    USER-TALLYPairwise tallied computesAxel Kohlmeyer (Temple U)compute XXX/tallyUSER/tally
      -
    • -
    -
      -
    • -
    -
    USER-VTKVTK-style dumpsBerger and Queteschiner (6)compute custom/vtk
      -
    • -
    -
      -
    • -
    -
    lib/vtk
           
    -

    The “Authors” column lists a name(s) if a specific person is -responible for creating and maintaining the package.

    -

    (1) The ATC package was created by Reese Jones, Jeremy Templeton, and -Jon Zimmerman (Sandia).

    -

    (2) The COLVARS package was created by Axel Kohlmeyer (Temple U) using -the colvars module library written by Giacomo Fiorin (Temple U) and -Jerome Henin (LISM, Marseille, France).

    -

    (3) The DRUDE package was created by Alain Dequidt (U Blaise Pascal -Clermont-Ferrand) and co-authors Julien Devemy (CNRS) and Agilio Padua -(U Blaise Pascal).

    -

    (4) The SMTBQ package was created by Nicolas Salles, Emile Maras, -Olivier Politano, and Robert Tetot (LAAS-CNRS, France).

    -

    (5) The USER-DPD package was created by James Larentzos (ARL), Timothy -Mattox (Engility), and John Brennan (ARL).

    -

    (6) The USER-VTK package was created by Richard Berger (JKU) and -Daniel Queteschiner (DCS Computing).

    -

    The “Doc page” column links to either a sub-section of the -Section 6 of the manual, or an input script -command implemented as part of the package, or to additional -documentation provided within the package.

    -

    The “Example” column is a sub-directory in the examples directory of -the distribution which has an input script that uses the package. -E.g. “peptide” refers to the examples/peptide directory.

    -

    The “Library” column lists an external library which must be built -first and which LAMMPS links to when it is built. If it is listed as -lib/package, then the code for the library is under the lib directory -of the LAMMPS distribution. See the lib/package/README file for info -on how to build the library. If it is not listed as lib/package, then -it is a third-party library not included in the LAMMPS distribution. -See details on all of this below for individual packages.

    -
    -
    -

    4.2.1. USER-ATC package

    -

    Contents: ATC stands for atoms-to-continuum. This package implements -a fix atc command to either couple MD with continuum -finite element equations or perform on-the-fly post-processing of -atomic information to continuum fields. See src/USER-ATC/README for -more details.

    -

    To build LAMMPS with this package ...

    -

    To install via make or Make.py:

    -
    make yes-user-atc
    -make machine
    -
    -
    -
    Make.py -p atc -a machine
    -
    -
    -

    To un-install via make or Make.py:

    -
    make no-user-atc
    -make machine
    -
    -
    -
    -Make.py -p ^atc -a machine
    -
    -

    Supporting info:src/USER-ATC/README, fix atc, -examples/USER/atc

    -

    Authors: Reese Jones (rjones at sandia.gov), Jeremy Templeton (jatempl -at sandia.gov) and Jon Zimmerman (jzimmer at sandia.gov) at Sandia. -Contact them directly if you have questions.

    -
    -
    -
    -

    4.2.2. USER-AWPMD package

    -

    Contents: AWPMD stands for Antisymmetrized Wave Packet Molecular -Dynamics. This package implements an atom, pair, and fix style which -allows electrons to be treated as explicit particles in an MD -calculation. See src/USER-AWPMD/README for more details.

    -

    To build LAMMPS with this package ...

    -

    Supporting info: src/USER-AWPMD/README, fix awpmd/cut, examples/USER/awpmd

    -

    Author: Ilya Valuev at the JIHT in Russia (valuev at -physik.hu-berlin.de). Contact him directly if you have questions.

    -
    -
    -
    -

    4.2.3. USER-CG-CMM package

    -

    Contents: CG-CMM stands for coarse-grained ??. This package -implements several pair styles and an angle style using the coarse -grained parametrization of Shinoda, DeVane, Klein, Mol Sim, 33, 27 -(2007) (SDK), with extensions to simulate ionic liquids, electrolytes, -lipids and charged amino acids. See src/USER-CG-CMM/README for more -details.

    -

    Supporting info: src/USER-CG-CMM/README, pair lj/sdk, -pair lj/sdk/coul/long, angle sdk, -examples/USER/cg-cmm

    -

    Author: Axel Kohlmeyer at Temple U (akohlmey at gmail.com). Contact -him directly if you have questions.

    -
    -
    -
    -

    4.2.4. USER-COLVARS package

    -

    Contents: COLVARS stands for collective variables which can be used to -implement Adaptive Biasing Force, Metadynamics, Steered MD, Umbrella -Sampling and Restraints. This package implements a fix colvars command which wraps a COLVARS library which -can perform those kinds of simulations. See src/USER-COLVARS/README -for more details.

    -

    Supporting info: -doc/PDF/colvars-refman-lammps.pdf, -src/USER-COLVARS/README, lib/colvars/README, fix colvars, examples/USER/colvars

    -

    Authors: Axel Kohlmeyer at Temple U (akohlmey at gmail.com) wrote the -fix. The COLVARS library itself is written and maintained by Giacomo -Fiorin (ICMS, Temple University, Philadelphia, PA, USA) and Jerome -Henin (LISM, CNRS, Marseille, France). Contact them directly if you -have questions.

    -
    -
    -
    -

    4.2.5. USER-DIFFRACTION package

    -

    Contents: This packages implements two computes and a fix for -calculating x-ray and electron diffraction intensities based on -kinematic diffraction theory. See src/USER-DIFFRACTION/README for -more details.

    -

    Supporting info: compute saed, compute xrd, fix saed/vtk, -examples/USER/diffraction

    -

    Author: Shawn P. Coleman (shawn.p.coleman8.ctr at mail.mil) while at -the University of Arkansas. Contact him directly if you have -questions.

    -
    -
    -
    -

    4.2.6. USER-DPD package

    -

    Contents: DPD stands for dissipative particle dynamics, This package -implements DPD for isothermal, isoenergetic, isobaric and isenthalpic -conditions. It also has extensions for performing reactive DPD, where -each particle has internal state for multiple species and a coupled -set of chemical reaction ODEs are integrated each timestep. The DPD -equations of motion are integrated efficiently through the Shardlow -splitting algorithm. See src/USER-DPD/README for more details.

    -

    Supporting info: /src/USER-DPD/README, compute dpd -compute dpd/atom -fix eos/cv fix eos/table -fix eos/table/rx fix shardlow -fix rx pair table/rx -pair dpd/fdt pair dpd/fdt/energy -pair exp6/rx pair multi/lucy -pair multi/lucy/rx, examples/USER/dpd

    -

    Authors: James Larentzos (ARL) (james.p.larentzos.civ at mail.mil), -Timothy Mattox (Engility Corp) (Timothy.Mattox at engilitycorp.com) -and John Brennan (ARL) (john.k.brennan.civ at mail.mil). Contact them -directly if you have questions.

    -
    -
    -
    -

    4.2.7. USER-DRUDE package

    -

    Contents: This package contains methods for simulating polarizable -systems using thermalized Drude oscillators. It has computes, fixes, -and pair styles for this purpose. See Section howto 6.27 for an overview of how to use the -package. See src/USER-DRUDE/README for additional details. There are -auxiliary tools for using this package in tools/drude.

    -

    Supporting info: Section howto 6.27, -src/USER-DRUDE/README, fix drude, fix drude/transform/*, compute temp/drude, pair thole, -pair lj/cut/thole/long, examples/USER/drude, -tools/drude

    -

    Authors: Alain Dequidt at Universite Blaise Pascal Clermont-Ferrand -(alain.dequidt at univ-bpclermont.fr); co-authors: Julien Devemy, -Agilio Padua. Contact them directly if you have questions.

    -
    -
    -
    -

    4.2.8. USER-EFF package

    -

    Contents: EFF stands for electron force field. This package contains -atom, pair, fix and compute styles which implement the eFF as -described in A. Jaramillo-Botero, J. Su, Q. An, and W.A. Goddard III, -JCC, 2010. The eFF potential was first introduced by Su and Goddard, -in 2007. See src/USER-EFF/README for more details. There are -auxiliary tools for using this package in tools/eff; see its README -file.

    -

    Supporting info:

    -

    Author: Andres Jaramillo-Botero at CalTech (ajaramil at -wag.caltech.edu). Contact him directly if you have questions.

    -
    -
    -
    -

    4.2.9. USER-FEP package

    -

    Contents: FEP stands for free energy perturbation. This package -provides methods for performing FEP simulations by using a fix adapt/fep command with soft-core pair potentials, -which have a “soft” in their style name. See src/USER-FEP/README for -more details. There are auxiliary tools for using this package in -tools/fep; see its README file.

    -

    Supporting info: src/USER-FEP/README, fix adapt/fep, compute fep, -pair_style */soft, examples/USER/fep

    -

    Author: Agilio Padua at Universite Blaise Pascal Clermont-Ferrand -(agilio.padua at univ-bpclermont.fr). Contact him directly if you have -questions.

    -
    -
    -
    -

    4.2.10. USER-H5MD package

    -

    Contents: H5MD stands for HDF5 for MD. HDF5 is a binary, -portable, self-describing file format, used by many scientific -simulations. H5MD is a format for molecular simulations, built on top -of HDF5. This package implements a dump h5md command -to output LAMMPS snapshots in this format. See src/USER-H5MD/README -for more details.

    -

    Supporting info: src/USER-H5MD/README, lib/h5md/README, dump h5md

    -

    Author: Pierre de Buyl at KU Leuven (see http://pdebuyl.be) created -this package as well as the H5MD format and library. Contact him -directly if you have questions.

    -
    -
    -
    -

    4.2.11. USER-INTEL package

    -

    Contents: Dozens of pair, bond, angle, dihedral, and improper styles -that are optimized for Intel CPUs and the Intel Xeon Phi (in offload -mode). All of them have an “intel” in their style name. Section accelerate intel gives details of what hardware -and compilers are required on your system, and how to build and use -this package. Also see src/USER-INTEL/README for more details. See -the KOKKOS, OPT, and USER-OMP packages, which also have CPU and -Phi-enabled styles.

    -

    Supporting info: examples/accelerate, src/USER-INTEL/TEST

    -

    Section 5

    -

    Author: Mike Brown at Intel (michael.w.brown at intel.com). Contact -him directly if you have questions.

    -

    For the USER-INTEL package, you have 2 choices when building. You can -build with CPU or Phi support. The latter uses Xeon Phi chips in -“offload” mode. Each of these modes requires additional settings in -your Makefile.machine for CCFLAGS and LINKFLAGS.

    -

    For CPU mode (if using an Intel compiler):

    -
      -
    • CCFLAGS: add -fopenmp, -DLAMMPS_MEMALIGN=64, -restrict, -xHost, -fno-alias, -ansi-alias, -override-limits
    • -
    • LINKFLAGS: add -fopenmp
    • -
    -

    For Phi mode add the following in addition to the CPU mode flags:

    -
      -
    • CCFLAGS: add -DLMP_INTEL_OFFLOAD and
    • -
    • LINKFLAGS: add -offload
    • -
    -

    And also add this to CCFLAGS:

    -
    --offload-option,mic,compiler,"-fp-model fast=2 -mGLOB_default_function_attrs="gather_scatter_loop_unroll=4""
    -
    -

    Examples:

    -
    -
    -
    -

    4.2.12. USER-LB package

    -

    Supporting info:

    -

    This package contains a LAMMPS implementation of a background -Lattice-Boltzmann fluid, which can be used to model MD particles -influenced by hydrodynamic forces.

    -

    See this doc page and its related commands to get started:

    -

    fix lb/fluid

    -

    The people who created this package are Frances Mackay (fmackay at -uwo.ca) and Colin (cdennist at uwo.ca) Denniston, University of -Western Ontario. Contact them directly if you have questions.

    -

    Examples: examples/USER/lb

    -
    -
    -
    -

    4.2.13. USER-MGPT package

    -

    Supporting info:

    -

    This package contains a fast implementation for LAMMPS of -quantum-based MGPT multi-ion potentials. The MGPT or model GPT method -derives from first-principles DFT-based generalized pseudopotential -theory (GPT) through a series of systematic approximations valid for -mid-period transition metals with nearly half-filled d bands. The -MGPT method was originally developed by John Moriarty at Lawrence -Livermore National Lab (LLNL).

    -

    In the general matrix representation of MGPT, which can also be -applied to f-band actinide metals, the multi-ion potentials are -evaluated on the fly during a simulation through d- or f-state matrix -multiplication, and the forces that move the ions are determined -analytically. The mgpt pair style in this package calculates forces -and energies using an optimized matrix-MGPT algorithm due to Tomas -Oppelstrup at LLNL.

    -

    See this doc page to get started:

    -

    pair_style mgpt

    -

    The persons who created the USER-MGPT package are Tomas Oppelstrup -(oppelstrup2@llnl.gov) and John Moriarty (moriarty2@llnl.gov) -Contact them directly if you have any questions.

    -

    Examples: examples/USER/mgpt

    -
    -
    -
    -

    4.2.14. USER-MISC package

    -

    Supporting info:

    -

    The files in this package are a potpourri of (mostly) unrelated -features contributed to LAMMPS by users. Each feature is a single -pair of files (*.cpp and *.h).

    -

    More information about each feature can be found by reading its doc -page in the LAMMPS doc directory. The doc page which lists all LAMMPS -input script commands is as follows:

    -

    Section 3

    -

    User-contributed features are listed at the bottom of the fix, -compute, pair, etc sections.

    -

    The list of features and author of each is given in the -src/USER-MISC/README file.

    -

    You should contact the author directly if you have specific questions -about the feature or its coding.

    -

    Examples: examples/USER/misc

    -
    -
    -
    -

    4.2.15. USER-MANIFOLD package

    -

    Supporting info:

    -

    This package contains a dump molfile command which uses molfile -plugins that are bundled with the -VMD molecular visualization and -analysis program, to enable LAMMPS to dump its information in formats -compatible with various molecular simulation tools.

    -

    This package allows LAMMPS to perform MD simulations of particles -constrained on a manifold (i.e., a 2D subspace of the 3D simulation -box). It achieves this using the RATTLE constraint algorithm applied -to single-particle constraint functions g(xi,yi,zi) = 0 and their -derivative (i.e. the normal of the manifold) n = grad(g).

    -

    See this doc page to get started:

    -

    fix manifoldforce

    -

    The person who created this package is Stefan Paquay, at the Eindhoven -University of Technology (TU/e), The Netherlands (s.paquay at tue.nl). -Contact him directly if you have questions.

    -
    -
    -
    -

    4.2.16. USER-MOLFILE package

    -

    Supporting info:

    -

    This package contains a dump molfile command which uses molfile -plugins that are bundled with the -VMD molecular visualization and -analysis program, to enable LAMMPS to dump its information in formats -compatible with various molecular simulation tools.

    -

    The package only provides the interface code, not the plugins. These -can be obtained from a VMD installation which has to match the -platform that you are using to compile LAMMPS for. By adding plugins -to VMD, support for new file formats can be added to LAMMPS (or VMD or -other programs that use them) without having to recompile the -application itself.

    -

    See this doc page to get started:

    -

    dump molfile

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions.

    -
    -
    -
    -

    4.2.17. USER-OMP package

    -

    Supporting info:

    -

    This package provides OpenMP multi-threading support and -other optimizations of various LAMMPS pair styles, dihedral -styles, and fix styles.

    -

    See this section of the manual to get started:

    -

    Section 5

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions.

    -

    For the USER-OMP package, your Makefile.machine needs additional -settings for CCFLAGS and LINKFLAGS.

    -
      -
    • CCFLAGS: add -fopenmp and -restrict
    • -
    • LINKFLAGS: add -fopenmp
    • -
    -

    Examples: examples/accelerate, bench/KEPLER

    -
    -
    -
    -

    4.2.18. USER-PHONON package

    -

    This package contains a fix phonon command that calculates dynamical -matrices, which can then be used to compute phonon dispersion -relations, directly from molecular dynamics simulations.

    -

    See this doc page to get started:

    -

    fix phonon

    -

    The person who created this package is Ling-Ti Kong (konglt at -sjtu.edu.cn) at Shanghai Jiao Tong University. Contact him directly -if you have questions.

    -

    Examples: examples/USER/phonon

    -
    -
    -
    -

    4.2.19. USER-QMMM package

    -

    Supporting info:

    -

    This package provides a fix qmmm command which allows LAMMPS to be -used in a QM/MM simulation, currently only in combination with pw.x -code from the Quantum ESPRESSO package.

    -

    The current implementation only supports an ONIOM style mechanical -coupling to the Quantum ESPRESSO plane wave DFT package. -Electrostatic coupling is in preparation and the interface has been -written in a manner that coupling to other QM codes should be possible -without changes to LAMMPS itself.

    -

    See this doc page to get started:

    -

    fix qmmm

    -

    as well as the lib/qmmm/README file.

    -

    The person who created this package is Axel Kohlmeyer at Temple U -(akohlmey at gmail.com). Contact him directly if you have questions.

    -
    -
    -
    -

    4.2.20. USER-QTB package

    -

    Supporting info:

    -

    This package provides a self-consistent quantum treatment of the -vibrational modes in a classical molecular dynamics simulation. By -coupling the MD simulation to a colored thermostat, it introduces zero -point energy into the system, alter the energy power spectrum and the -heat capacity towards their quantum nature. This package could be of -interest if one wants to model systems at temperatures lower than -their classical limits or when temperatures ramp up across the -classical limits in the simulation.

    -

    See these two doc pages to get started:

    -

    fix qtb provides quantum nulcear correction through a -colored thermostat and can be used with other time integration schemes -like fix nve or fix nph.

    -

    fix qbmsst enables quantum nuclear correction of a -multi-scale shock technique simulation by coupling the quantum thermal -bath with the shocked system.

    -

    The person who created this package is Yuan Shen (sy0302 at -stanford.edu) at Stanford University. Contact him directly if you -have questions.

    -

    Examples: examples/USER/qtb

    -
    -
    -
    -

    4.2.21. USER-QUIP package

    -

    Supporting info:

    -

    Examples: examples/USER/quip

    -
    -
    -
    -

    4.2.22. USER-REAXC package

    -

    Supporting info:

    -

    This package contains a implementation for LAMMPS of the ReaxFF force -field. ReaxFF uses distance-dependent bond-order functions to -represent the contributions of chemical bonding to the potential -energy. It was originally developed by Adri van Duin and the Goddard -group at CalTech.

    -

    The USER-REAXC version of ReaxFF (pair_style reax/c), implemented in -C, should give identical or very similar results to pair_style reax, -which is a ReaxFF implementation on top of a Fortran library, a -version of which library was originally authored by Adri van Duin.

    -

    The reax/c version should be somewhat faster and more scalable, -particularly with respect to the charge equilibration calculation. It -should also be easier to build and use since there are no complicating -issues with Fortran memory allocation or linking to a Fortran library.

    -

    For technical details about this implemention of ReaxFF, see -this paper:

    -

    Parallel and Scalable Reactive Molecular Dynamics: Numerical Methods -and Algorithmic Techniques, H. M. Aktulga, J. C. Fogarty, -S. A. Pandit, A. Y. Grama, Parallel Computing, in press (2011).

    -

    See the doc page for the pair_style reax/c command for details -of how to use it in LAMMPS.

    -

    The person who created this package is Hasan Metin Aktulga (hmaktulga -at lbl.gov), while at Purdue University. Contact him directly, or -Aidan Thompson at Sandia (athomps at sandia.gov), if you have -questions.

    -

    Examples: examples/reax

    -
    -
    -
    -

    4.2.23. USER-SMD package

    -

    Supporting info:

    -

    This package implements smoothed Mach dynamics (SMD) in -LAMMPS. Currently, the package has the following features:

    -

    * Does liquids via traditional Smooth Particle Hydrodynamics (SPH)

    -
    -
    * Also solves solids mechanics problems via a state of the art
    -
    stabilized meshless method with hourglass control.
    -
    * Can specify hydrostatic interactions independently from material
    -
    strength models, i.e. pressure and deviatoric stresses are separated.
    -
    * Many material models available (Johnson-Cook, plasticity with
    -
    hardening, Mie-Grueneisen, Polynomial EOS). Easy to add new -material models.
    -
    * Rigid boundary conditions (walls) can be loaded as surface geometries
    -
    from *.STL files.
    -
    -

    See the file doc/PDF/SMD_LAMMPS_userguide.pdf to get started.

    -

    There are example scripts for using this package in examples/USER/smd.

    -

    The person who created this package is Georg Ganzenmuller at the -Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in -Germany (georg.ganzenmueller at emi.fhg.de). Contact him directly if -you have questions.

    -

    Examples: examples/USER/smd

    -
    -
    -
    -

    4.2.24. USER-SMTBQ package

    -

    Supporting info:

    -

    This package implements the Second Moment Tight Binding - QEq (SMTB-Q) -potential for the description of ionocovalent bonds in oxides.

    -

    There are example scripts for using this package in -examples/USER/smtbq.

    -

    See this doc page to get started:

    -

    pair_style smtbq

    -

    The persons who created the USER-SMTBQ package are Nicolas Salles, -Emile Maras, Olivier Politano, Robert Tetot, who can be contacted at -these email addreses: lammps@u-bourgogne.fr, nsalles@laas.fr. Contact -them directly if you have any questions.

    -

    Examples: examples/USER/smtbq

    -
    -
    -
    -

    4.2.25. USER-SPH package

    -

    Supporting info:

    -

    This package implements smoothed particle hydrodynamics (SPH) in -LAMMPS. Currently, the package has the following features:

    -
    -
    * Tait, ideal gas, Lennard-Jones equation of states, full support for
    -
    complete (i.e. internal-energy dependent) equations of state
    -
    -

    * Plain or Monaghans XSPH integration of the equations of motion

    -

    * Density continuity or density summation to propagate the density field

    -
    -
    * Commands to set internal energy and density of particles from the
    -
    input script
    -
    * Output commands to access internal energy and density for dumping and
    -
    thermo output
    -
    -

    See the file doc/PDF/SPH_LAMMPS_userguide.pdf to get started.

    -

    There are example scripts for using this package in examples/USER/sph.

    -

    The person who created this package is Georg Ganzenmuller at the -Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in -Germany (georg.ganzenmueller at emi.fhg.de). Contact him directly if -you have questions.

    -

    Examples: examples/USER/sph

    -
    -
    -
    -

    4.2.26. USER-TALLY package

    -

    Supporting info:

    -

    Examples: examples/USER/tally

    -
    -
    -
    -

    4.2.27. USER-VTK package

    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_perf.html b/doc/html/Section_perf.html deleted file mode 100644 index 9562cb166c6ff13e854c1e64a2bdc41f71b2cb83..0000000000000000000000000000000000000000 --- a/doc/html/Section_perf.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - - - - - 8. Performance & scalability — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    8. Performance & scalability

    -

    Current LAMMPS performance is discussed on the Benchmarks page of the -LAMMPS WWW Site where CPU timings and parallel efficiencies are -listed. The page has several sections, which are briefly described -below:

    -
      -
    • CPU performance on 5 standard problems, strong and weak scaling
    • -
    • GPU and Xeon Phi performance on same and related problems
    • -
    • Comparison of cost of interatomic potentials
    • -
    • Performance of huge, billion-atom problems
    • -
    -

    The 5 standard problems are as follow:

    -
      -
    1. LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55 -neighbors per atom), NVE integration
    2. -
    3. Chain = bead-spring polymer melt of 100-mer chains, FENE bonds and LJ -pairwise interactions with a 2^(1/6) sigma cutoff (5 neighbors per -atom), NVE integration
    4. -
    5. EAM = metallic solid, Cu EAM potential with 4.95 Angstrom cutoff (45 -neighbors per atom), NVE integration
    6. -
    7. Chute = granular chute flow, frictional history potential with 1.1 -sigma cutoff (7 neighbors per atom), NVE integration
    8. -
    9. Rhodo = rhodopsin protein in solvated lipid bilayer, CHARMM force -field with a 10 Angstrom LJ cutoff (440 neighbors per atom), -particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT -integration
    10. -
    -

    Input files for these 5 problems are provided in the bench directory -of the LAMMPS distribution. Each has 32,000 atoms and runs for 100 -timesteps. The size of the problem (number of atoms) can be varied -using command-line switches as described in the bench/README file. -This is an easy way to test performance and either strong or weak -scalability on your machine.

    -

    The bench directory includes a few log.* files that show performance -of these 5 problems on 1 or 4 cores of Linux desktop. The bench/FERMI -and bench/KEPLER dirs have input files and scripts and instructions -for running the same (or similar) problems using OpenMP or GPU or Xeon -Phi acceleration options. See the README files in those dirs and the -Section accelerate doc pages for -instructions on how to build LAMMPS and run on that kind of hardware.

    -

    The bench/POTENTIALS directory has input files which correspond to the -table of results on the -Potentials section of -the Benchmarks web page. So you can also run those test problems on -your machine.

    -

    The billion-atom section -of the Benchmarks web page has performance data for very large -benchmark runs of simple Lennard-Jones (LJ) models, which use the -bench/in.lj input script.

    -
    -

    For all the benchmarks, a useful metric is the CPU cost per atom per -timestep. Since performance scales roughly linearly with problem size -and timesteps for all LAMMPS models (i.e. inteatomic or coarse-grained -potentials), the run time of any problem using the same model (atom -style, force field, cutoff, etc) can then be estimated.

    -

    Performance on a parallel machine can also be predicted from one-core -or one-node timings if the parallel efficiency can be estimated. The -communication bandwidth and latency of a particular parallel machine -affects the efficiency. On most machines LAMMPS will give parallel -efficiencies on these benchmarks above 50% so long as the number of -atoms/core is a few 100 or greater, and closer to 100% for large -numbers of atoms/core. This is for all-MPI mode with one MPI task per -core. For nodes with accelerator options or hardware (OpenMP, GPU, -Phi), you should first measure single node performance. Then you can -estimate parallel performance for multi-node runs using the same logic -as for all-MPI mode, except that now you will typically need many more -atoms/node to achieve good scalability.

    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_python.html b/doc/html/Section_python.html deleted file mode 100644 index 23ccb8c63be61a1191aa24ab1571364d95ee42c9..0000000000000000000000000000000000000000 --- a/doc/html/Section_python.html +++ /dev/null @@ -1,1040 +0,0 @@ - - - - - - - - - - - 11. Python interface to LAMMPS — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    11. Python interface to LAMMPS

    -

    LAMMPS can work together with Python in two ways. First, Python can -wrap LAMMPS through the LAMMPS library interface, so that a Python script can -create one or more instances of LAMMPS and launch one or more -simulations. In Python lingo, this is “extending” Python with LAMMPS.

    -

    Second, LAMMPS can use the Python interpreter, so that a LAMMPS input -script can invoke Python code, and pass information back-and-forth -between the input script and Python functions you write. The Python -code can also callback to LAMMPS to query or change its attributes. -In Python lingo, this is “embedding” Python in LAMMPS.

    -

    This section describes how to do both.

    - -

    If you are not familiar with it, Python is a -powerful scripting and programming language which can essentially do -anything that faster, lower-level languages like C or C++ can do, but -typically with much fewer lines of code. When used in embedded mode, -Python can perform operations that the simplistic LAMMPS input script -syntax cannot. Python can be also be used as a “glue” language to -drive a program through its library interface, or to hook multiple -pieces of software together, such as a simulation package plus a -visualization package, or to run a coupled multiscale or multiphysics -model.

    -

    See Section 6.10 of the manual and -the couple directory of the distribution for more ideas about coupling -LAMMPS to other codes. See Section 6.19 for a description of the LAMMPS -library interface provided in src/library.cpp and src/library.h, and -how to extend it for your needs. As described below, that interface -is what is exposed to Python either when calling LAMMPS from Python or -when calling Python from a LAMMPS input script and then calling back -to LAMMPS from Python code. The library interface is designed to be -easy to add functions to. Thus the Python interface to LAMMPS is also -easy to extend as well.

    -

    If you create interesting Python scripts that run LAMMPS or -interesting Python functions that can be called from a LAMMPS input -script, that you think would be useful to other users, please email them to the developers. We can -include them in the LAMMPS distribution.

    -
    -

    11.1. Overview of running LAMMPS from Python

    -

    The LAMMPS distribution includes a python directory with all you need -to run LAMMPS from Python. The python/lammps.py file wraps the LAMMPS -library interface, with one wrapper function per LAMMPS library -function. This file makes it is possible to do the following either -from a Python script, or interactively from a Python prompt: create -one or more instances of LAMMPS, invoke LAMMPS commands or give it an -input script, run LAMMPS incrementally, extract LAMMPS results, an -modify internal LAMMPS variables. From a Python script you can do -this in serial or parallel. Running Python interactively in parallel -does not generally work, unless you have a version of Python that -extends standard Python to enable multiple instances of Python to read -what you type.

    -

    To do all of this, you must first build LAMMPS as a shared library, -then insure that your Python can find the python/lammps.py file and -the shared library. These steps are explained in subsequent sections -11.3 and 11.4. Sections 11.5 and 11.6 discuss using MPI from a -parallel Python program and how to test that you are ready to use -LAMMPS from Python. Section 11.7 lists all the functions in the -current LAMMPS library interface and how to call them from Python.

    -

    Section 11.8 gives some examples of coupling LAMMPS to other tools via -Python. For example, LAMMPS can easily be coupled to a GUI or other -visualization tools that display graphs or animations in real time as -LAMMPS runs. Examples of such scripts are inlcluded in the python -directory.

    -

    Two advantages of using Python to run LAMMPS are how concise the -language is, and that it can be run interactively, enabling rapid -development and debugging of programs. If you use it to mostly invoke -costly operations within LAMMPS, such as running a simulation for a -reasonable number of timesteps, then the overhead cost of invoking -LAMMPS thru Python will be negligible.

    -

    The Python wrapper for LAMMPS uses the amazing and magical (to me) -“ctypes” package in Python, which auto-generates the interface code -needed between Python and a set of C interface routines for a library. -Ctypes is part of standard Python for versions 2.5 and later. You can -check which version of Python you have installed, by simply typing -“python” at a shell prompt.

    -
    -
    -
    -

    11.2. Overview of using Python from a LAMMPS script

    -
    -

    Note

    -

    It is not currently possible to use the python -command described in this section with Python 3, only with Python 2. -The C API changed from Python 2 to 3 and the LAMMPS code is not -compatible with both.

    -
    -

    LAMMPS has a python command which can be used in an -input script to define and execute a Python function that you write -the code for. The Python function can also be assigned to a LAMMPS -python-style variable via the variable command. Each -time the variable is evaluated, either in the LAMMPS input script -itself, or by another LAMMPS command that uses the variable, this will -trigger the Python function to be invoked.

    -

    The Python code for the function can be included directly in the input -script or in an auxiliary file. The function can have arguments which -are mapped to LAMMPS variables (also defined in the input script) and -it can return a value to a LAMMPS variable. This is thus a mechanism -for your input script to pass information to a piece of Python code, -ask Python to execute the code, and return information to your input -script.

    -

    Note that a Python function can be arbitrarily complex. It can import -other Python modules, instantiate Python classes, call other Python -functions, etc. The Python code that you provide can contain more -code than the single function. It can contain other functions or -Python classes, as well as global variables or other mechanisms for -storing state between calls from LAMMPS to the function.

    -

    The Python function you provide can consist of “pure” Python code that -only performs operations provided by standard Python. However, the -Python function can also “call back” to LAMMPS through its -Python-wrapped library interface, in the manner described in the -previous section 11.1. This means it can issue LAMMPS input script -commands or query and set internal LAMMPS state. As an example, this -can be useful in an input script to create a more complex loop with -branching logic, than can be created using the simple looping and -branching logic enabled by the next and if -commands.

    -

    See the python doc page and the variable -doc page for its python-style variables for more info, including -examples of Python code you can write for both pure Python operations -and callbacks to LAMMPS.

    -

    To run pure Python code from LAMMPS, you only need to build LAMMPS -with the PYTHON package installed:

    -
    make yes-python
    -make machine
    -
    -
    -

    Note that this will link LAMMPS with the Python library on your -system, which typically requires several auxiliary system libraries to -also be linked. The list of these libraries and the paths to find -them are specified in the lib/python/Makefile.lammps file. You need -to insure that file contains the correct information for your version -of Python and your machine to successfully build LAMMPS. See the -lib/python/README file for more info.

    -

    If you want to write Python code with callbacks to LAMMPS, then you -must also follow the steps overviewed in the preceeding section (11.1) -for running LAMMPS from Python. I.e. you must build LAMMPS as a -shared library and insure that Python can find the python/lammps.py -file and the shared library.

    -
    -
    -
    -

    11.3. Building LAMMPS as a shared library

    -

    Instructions on how to build LAMMPS as a shared library are given in -Section 2.5. A shared library is one -that is dynamically loadable, which is what Python requires to wrap -LAMMPS. On Linux this is a library file that ends in ”.so”, not ”.a”.

    -

    From the src directory, type

    -
    make foo mode=shlib
    -
    -
    -

    where foo is the machine target name, such as linux or g++ or serial. -This should create the file liblammps_foo.so in the src directory, as -well as a soft link liblammps.so, which is what the Python wrapper will -load by default. Note that if you are building multiple machine -versions of the shared library, the soft link is always set to the -most recently built version.

    -
    -

    Note

    -

    If you are building LAMMPS with an MPI or FFT library or other -auxiliary libraries (used by various packages), then all of these -extra libraries must also be shared libraries. If the LAMMPS -shared-library build fails with an error complaining about this, see -Section 2.5 for more details.

    -
    -
    -
    -
    -

    11.4. Installing the Python wrapper into Python

    -

    For Python to invoke LAMMPS, there are 2 files it needs to know about:

    -
      -
    • python/lammps.py
    • -
    • src/liblammps.so
    • -
    -

    Lammps.py is the Python wrapper on the LAMMPS library interface. -Liblammps.so is the shared LAMMPS library that Python loads, as -described above.

    -

    You can insure Python can find these files in one of two ways:

    -
      -
    • set two environment variables
    • -
    • run the python/install.py script
    • -
    -

    If you set the paths to these files as environment variables, you only -have to do it once. For the csh or tcsh shells, add something like -this to your ~/.cshrc file, one line for each of the two files:

    -
    -setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/lammps/python
    -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/src
    -
    -

    If you use the python/install.py script, you need to invoke it every -time you rebuild LAMMPS (as a shared library) or make changes to the -python/lammps.py file.

    -

    You can invoke install.py from the python directory as

    -
    % python install.py [libdir] [pydir]
    -
    -
    -

    The optional libdir is where to copy the LAMMPS shared library to; the -default is /usr/local/lib. The optional pydir is where to copy the -lammps.py file to; the default is the site-packages directory of the -version of Python that is running the install script.

    -

    Note that libdir must be a location that is in your default -LD_LIBRARY_PATH, like /usr/local/lib or /usr/lib. And pydir must be a -location that Python looks in by default for imported modules, like -its site-packages dir. If you want to copy these files to -non-standard locations, such as within your own user space, you will -need to set your PYTHONPATH and LD_LIBRARY_PATH environment variables -accordingly, as above.

    -

    If the install.py script does not allow you to copy files into system -directories, prefix the python command with “sudo”. If you do this, -make sure that the Python that root runs is the same as the Python you -run. E.g. you may need to do something like

    -
    % sudo /usr/local/bin/python install.py [libdir] [pydir]
    -
    -
    -

    You can also invoke install.py from the make command in the src -directory as

    -
    % make install-python
    -
    -
    -

    In this mode you cannot append optional arguments. Again, you may -need to prefix this with “sudo”. In this mode you cannot control -which Python is invoked by root.

    -

    Note that if you want Python to be able to load different versions of -the LAMMPS shared library (see this section below), you will -need to manually copy files like liblammps_g++.so into the appropriate -system directory. This is not needed if you set the LD_LIBRARY_PATH -environment variable as described above.

    -
    -
    -
    -

    11.5. Extending Python with MPI to run in parallel

    -

    If you wish to run LAMMPS in parallel from Python, you need to extend -your Python with an interface to MPI. This also allows you to -make MPI calls directly from Python in your script, if you desire.

    -

    There are several Python packages available that purport to wrap MPI -as a library and allow MPI functions to be called from Python. However, -development on most of them seems to be halted except on:

    - -

    Both packages, PyPar and mpi4py have been successfully tested with -LAMMPS. PyPar is simpler and easy to set up and use, but supports -only a subset of MPI. Mpi4py is more MPI-feature complete, but also a -bit more complex to use. As of version 2.0.0, mpi4py is the only -python MPI wrapper that allows passing a custom MPI communicator to -the LAMMPS constructor, which means one can easily run one or more -LAMMPS instances on subsets of the total MPI ranks.

    -
    -

    PyPar requires the ubiquitous Numpy package -be installed in your Python. After launching Python, type

    -
    import numpy
    -
    -
    -

    to see if it is installed. If not, here is how to install it (version -1.3.0b1 as of April 2009). Unpack the numpy tarball and from its -top-level directory, type

    -
    python setup.py build
    -sudo python setup.py install
    -
    -
    -

    The “sudo” is only needed if required to copy Numpy files into your -Python distribution’s site-packages directory.

    -

    To install PyPar (version pypar-2.1.4_94 as of Aug 2012), unpack it -and from its “source” directory, type

    -
    python setup.py build
    -sudo python setup.py install
    -
    -
    -

    Again, the “sudo” is only needed if required to copy PyPar files into -your Python distribution’s site-packages directory.

    -

    If you have successully installed PyPar, you should be able to run -Python and type

    -
    import pypar
    -
    -
    -

    without error. You should also be able to run python in parallel -on a simple test script

    -
    % mpirun -np 4 python test.py
    -
    -
    -

    where test.py contains the lines

    -
    import pypar
    -print "Proc %d out of %d procs" % (pypar.rank(),pypar.size())
    -
    -
    -

    and see one line of output for each processor you run on.

    -
    -

    Note

    -

    To use PyPar and LAMMPS in parallel from Python, you must insure -both are using the same version of MPI. If you only have one MPI -installed on your system, this is not an issue, but it can be if you -have multiple MPIs. Your LAMMPS build is explicit about which MPI it -is using, since you specify the details in your lo-level -src/MAKE/Makefile.foo file. PyPar uses the “mpicc” command to find -information about the MPI it uses to build against. And it tries to -load “libmpi.so” from the LD_LIBRARY_PATH. This may or may not find -the MPI library that LAMMPS is using. If you have problems running -both PyPar and LAMMPS together, this is an issue you may need to -address, e.g. by moving other MPI installations so that PyPar finds -the right one.

    -
    -
    -

    To install mpi4py (version mpi4py-2.0.0 as of Oct 2015), unpack it -and from its main directory, type

    -
    python setup.py build
    -sudo python setup.py install
    -
    -
    -

    Again, the “sudo” is only needed if required to copy mpi4py files into -your Python distribution’s site-packages directory. To install with -user privilege into the user local directory type

    -
    python setup.py install --user
    -
    -
    -

    If you have successully installed mpi4py, you should be able to run -Python and type

    -
    from mpi4py import MPI
    -
    -
    -

    without error. You should also be able to run python in parallel -on a simple test script

    -
    % mpirun -np 4 python test.py
    -
    -
    -

    where test.py contains the lines

    -
    -from mpi4py import MPI
    -comm = MPI.COMM_WORLD
    -print "Proc %d out of %d procs" % (comm.Get_rank(),comm.Get_size())
    -
    -

    and see one line of output for each processor you run on.

    -
    -

    Note

    -

    To use mpi4py and LAMMPS in parallel from Python, you must -insure both are using the same version of MPI. If you only have one -MPI installed on your system, this is not an issue, but it can be if -you have multiple MPIs. Your LAMMPS build is explicit about which MPI -it is using, since you specify the details in your lo-level -src/MAKE/Makefile.foo file. Mpi4py uses the “mpicc” command to find -information about the MPI it uses to build against. And it tries to -load “libmpi.so” from the LD_LIBRARY_PATH. This may or may not find -the MPI library that LAMMPS is using. If you have problems running -both mpi4py and LAMMPS together, this is an issue you may need to -address, e.g. by moving other MPI installations so that mpi4py finds -the right one.

    -
    -
    -
    -
    -

    11.6. Testing the Python-LAMMPS interface

    -

    To test if LAMMPS is callable from Python, launch Python interactively -and type:

    -
    >>> from lammps import lammps
    ->>> lmp = lammps()
    -
    -
    -

    If you get no errors, you’re ready to use LAMMPS from Python. If the -2nd command fails, the most common error to see is

    -
    OSError: Could not load LAMMPS dynamic library
    -
    -
    -

    which means Python was unable to load the LAMMPS shared library. This -typically occurs if the system can’t find the LAMMPS shared library or -one of the auxiliary shared libraries it depends on, or if something -about the library is incompatible with your Python. The error message -should give you an indication of what went wrong.

    -

    You can also test the load directly in Python as follows, without -first importing from the lammps.py file:

    -
    >>> from ctypes import CDLL
    ->>> CDLL("liblammps.so")
    -
    -
    -

    If an error occurs, carefully go thru the steps in Section 2.5 and above about building a shared -library and about insuring Python can find the necessary two files -it needs.

    -
    -

    11.6.1. Test LAMMPS and Python in serial:

    -

    To run a LAMMPS test in serial, type these lines into Python -interactively from the bench directory:

    -
    >>> from lammps import lammps
    ->>> lmp = lammps()
    ->>> lmp.file("in.lj")
    -
    -
    -

    Or put the same lines in the file test.py and run it as

    -
    % python test.py
    -
    -
    -

    Either way, you should see the results of running the in.lj benchmark -on a single processor appear on the screen, the same as if you had -typed something like:

    -
    -lmp_g++ -in in.lj
    -
    -
    -
    -

    11.6.2. Test LAMMPS and Python in parallel:

    -

    To run LAMMPS in parallel, assuming you have installed the -PyPar package as discussed -above, create a test.py file containing these lines:

    -
    import pypar
    -from lammps import lammps
    -lmp = lammps()
    -lmp.file("in.lj")
    -print "Proc %d out of %d procs has" % (pypar.rank(),pypar.size()),lmp
    -pypar.finalize()
    -
    -
    -

    To run LAMMPS in parallel, assuming you have installed the -mpi4py package as discussed -above, create a test.py file containing these lines:

    -
    -from mpi4py import MPI
    -from lammps import lammps
    -lmp = lammps()
    -lmp.file("in.lj")
    -me = MPI.COMM_WORLD.Get_rank()
    -nprocs = MPI.COMM_WORLD.Get_size()
    -print "Proc %d out of %d procs has" % (me,nprocs),lmp
    -MPI.Finalize()
    -
    -

    You can either script in parallel as:

    -
    % mpirun -np 4 python test.py
    -
    -
    -

    and you should see the same output as if you had typed

    -
    -% mpirun -np 4 lmp_g++ -in in.lj
    -
    -

    Note that if you leave out the 3 lines from test.py that specify PyPar -commands you will instantiate and run LAMMPS independently on each of -the P processors specified in the mpirun command. In this case you -should get 4 sets of output, each showing that a LAMMPS run was made -on a single processor, instead of one set of output showing that -LAMMPS ran on 4 processors. If the 1-processor outputs occur, it -means that PyPar is not working correctly.

    -

    Also note that once you import the PyPar module, PyPar initializes MPI -for you, and you can use MPI calls directly in your Python script, as -described in the PyPar documentation. The last line of your Python -script should be pypar.finalize(), to insure MPI is shut down -correctly.

    -
    -
    -

    11.6.3. Running Python scripts:

    -

    Note that any Python script (not just for LAMMPS) can be invoked in -one of several ways:

    -
    % python foo.script
    -% python -i foo.script
    -% foo.script
    -
    -
    -

    The last command requires that the first line of the script be -something like this:

    -
    #!/usr/local/bin/python
    -#!/usr/local/bin/python -i
    -
    -
    -

    where the path points to where you have Python installed, and that you -have made the script file executable:

    -
    % chmod +x foo.script
    -
    -
    -

    Without the “-i” flag, Python will exit when the script finishes. -With the “-i” flag, you will be left in the Python interpreter when -the script finishes, so you can type subsequent commands. As -mentioned above, you can only run Python interactively when running -Python on a single processor, not in parallel.

    -
    -
    -
    -

    11.7. Using LAMMPS from Python

    -

    As described above, the Python interface to LAMMPS consists of a -Python “lammps” module, the source code for which is in -python/lammps.py, which creates a “lammps” object, with a set of -methods that can be invoked on that object. The sample Python code -below assumes you have first imported the “lammps” module in your -Python script, as follows:

    -
    from lammps import lammps
    -
    -
    -

    These are the methods defined by the lammps module. If you look at -the files src/library.cpp and src/library.h you will see that they -correspond one-to-one with calls you can make to the LAMMPS library -from a C++ or C or Fortran program.

    -
    -lmp = lammps()           # create a LAMMPS object using the default liblammps.so library
    -                         4 optional args are allowed: name, cmdargs, ptr, comm
    -lmp = lammps(ptr=lmpptr) # use lmpptr as previously created LAMMPS object
    -lmp = lammps(comm=split) # create a LAMMPS object with a custom communicator, requires mpi4py 2.0.0 or later
    -lmp = lammps(name="g++")   # create a LAMMPS object using the liblammps_g++.so library
    -lmp = lammps(name="g++",cmdargs=list)    # add LAMMPS command-line args, e.g. list = ["-echo","screen"]
    -
    -
    lmp.close()              # destroy a LAMMPS object
    -
    -
    -

    version = lmp.version() # return the numerical version id, e.g. LAMMPS 2 Sep 2015 -> 20150902

    -
    lmp.file(file)           # run an entire input script, file = "in.lj"
    -lmp.command(cmd)         # invoke a single LAMMPS command, cmd = "run 100"
    -
    -
    -
    -xlo = lmp.extract_global(name,type)  # extract a global quantity
    -                                     # name = "boxxlo", "nlocal", etc
    -                                  # type = 0 = int
    -                                  #        1 = double
    -
    -
    -coords = lmp.extract_atom(name,type)      # extract a per-atom quantity
    -                                          # name = "x", "type", etc
    -                                       # type = 0 = vector of ints
    -                                       #        1 = array of ints
    -                                       #        2 = vector of doubles
    -                                       #        3 = array of doubles
    -
    -
    -eng = lmp.extract_compute(id,style,type)  # extract value(s) from a compute
    -v3 = lmp.extract_fix(id,style,type,i,j)   # extract value(s) from a fix
    -                                          # id = ID of compute or fix
    -                                       # style = 0 = global data
    -                                       #         1 = per-atom data
    -                                       #         2 = local data
    -                                       # type = 0 = scalar
    -                                       #        1 = vector
    -                                       #        2 = array
    -                                       # i,j = indices of value in global vector or array
    -
    -
    -var = lmp.extract_variable(name,group,flag)  # extract value(s) from a variable
    -                                          # name = name of variable
    -                                          # group = group ID (ignored for equal-style variables)
    -                                          # flag = 0 = equal-style variable
    -                                          #        1 = atom-style variable
    -
    -
    -flag = lmp.set_variable(name,value)       # set existing named string-style variable to value, flag = 0 if successful
    -natoms = lmp.get_natoms()                 # total # of atoms as int
    -data = lmp.gather_atoms(name,type,count)  # return atom attribute of all atoms gathered into data, ordered by atom ID
    -                                          # name = "x", "charge", "type", etc
    -                                          # count = # of per-atom values, 1 or 3, etc
    -lmp.scatter_atoms(name,type,count,data)   # scatter atom attribute of all atoms from data, ordered by atom ID
    -                                          # name = "x", "charge", "type", etc
    -                                          # count = # of per-atom values, 1 or 3, etc
    -
    -
    -

    The lines

    -
    from lammps import lammps
    -lmp = lammps()
    -
    -
    -

    create an instance of LAMMPS, wrapped in a Python class by the lammps -Python module, and return an instance of the Python class as lmp. It -is used to make all subequent calls to the LAMMPS library.

    -

    Additional arguments can be used to tell Python the name of the shared -library to load or to pass arguments to the LAMMPS instance, the same -as if LAMMPS were launched from a command-line prompt.

    -

    If the ptr argument is set like this:

    -
    lmp = lammps(ptr=lmpptr)
    -
    -
    -

    then lmpptr must be an argument passed to Python via the LAMMPS -python command, when it is used to define a Python -function that is invoked by the LAMMPS input script. This mode of -using Python with LAMMPS is described above in 11.2. The variable -lmpptr refers to the instance of LAMMPS that called the embedded -Python interpreter. Using it as an argument to lammps() allows the -returned Python class instance “lmp” to make calls to that instance of -LAMMPS. See the python command doc page for examples -using this syntax.

    -

    Note that you can create multiple LAMMPS objects in your Python -script, and coordinate and run multiple simulations, e.g.

    -
    from lammps import lammps
    -lmp1 = lammps()
    -lmp2 = lammps()
    -lmp1.file("in.file1")
    -lmp2.file("in.file2")
    -
    -
    -

    The file() and command() methods allow an input script or single -commands to be invoked.

    -

    The extract_global(), extract_atom(), extract_compute(), -extract_fix(), and extract_variable() methods return values or -pointers to data structures internal to LAMMPS.

    -

    For extract_global() see the src/library.cpp file for the list of -valid names. New names could easily be added. A double or integer is -returned. You need to specify the appropriate data type via the type -argument.

    -

    For extract_atom(), a pointer to internal LAMMPS atom-based data is -returned, which you can use via normal Python subscripting. See the -extract() method in the src/atom.cpp file for a list of valid names. -Again, new names could easily be added. A pointer to a vector of -doubles or integers, or a pointer to an array of doubles (double **) -or integers (int **) is returned. You need to specify the appropriate -data type via the type argument.

    -

    For extract_compute() and extract_fix(), the global, per-atom, or -local data calulated by the compute or fix can be accessed. What is -returned depends on whether the compute or fix calculates a scalar or -vector or array. For a scalar, a single double value is returned. If -the compute or fix calculates a vector or array, a pointer to the -internal LAMMPS data is returned, which you can use via normal Python -subscripting. The one exception is that for a fix that calculates a -global vector or array, a single double value from the vector or array -is returned, indexed by I (vector) or I and J (array). I,J are -zero-based indices. The I,J arguments can be left out if not needed. -See Section 6.15 of the manual for a -discussion of global, per-atom, and local data, and of scalar, vector, -and array data types. See the doc pages for individual -computes and fixes for a description of what -they calculate and store.

    -

    For extract_variable(), an equal-style or atom-style variable is evaluated and its result returned.

    -

    For equal-style variables a single double value is returned and the -group argument is ignored. For atom-style variables, a vector of -doubles is returned, one value per atom, which you can use via normal -Python subscripting. The values will be zero for atoms not in the -specified group.

    -

    The get_natoms() method returns the total number of atoms in the -simulation, as an int.

    -

    The gather_atoms() method returns a ctypes vector of ints or doubles -as specified by type, of length count*natoms, for the property of all -the atoms in the simulation specified by name, ordered by count and -then by atom ID. The vector can be used via normal Python -subscripting. If atom IDs are not consecutively ordered within -LAMMPS, a None is returned as indication of an error.

    -

    Note that the data structure gather_atoms(“x”) returns is different -from the data structure returned by extract_atom(“x”) in four ways. -(1) Gather_atoms() returns a vector which you index as x[i]; -extract_atom() returns an array which you index as x[i][j]. (2) -Gather_atoms() orders the atoms by atom ID while extract_atom() does -not. (3) Gathert_atoms() returns a list of all atoms in the -simulation; extract_atoms() returns just the atoms local to each -processor. (4) Finally, the gather_atoms() data structure is a copy -of the atom coords stored internally in LAMMPS, whereas extract_atom() -returns an array that effectively points directly to the internal -data. This means you can change values inside LAMMPS from Python by -assigning a new values to the extract_atom() array. To do this with -the gather_atoms() vector, you need to change values in the vector, -then invoke the scatter_atoms() method.

    -

    The scatter_atoms() method takes a vector of ints or doubles as -specified by type, of length count*natoms, for the property of all the -atoms in the simulation specified by name, ordered by bount and then -by atom ID. It uses the vector of data to overwrite the corresponding -properties for each atom inside LAMMPS. This requires LAMMPS to have -its “map” option enabled; see the atom_modify -command for details. If it is not, or if atom IDs are not -consecutively ordered, no coordinates are reset.

    -

    The array of coordinates passed to scatter_atoms() must be a ctypes -vector of ints or doubles, allocated and initialized something like -this:

    -
    -from ctypes import *
    -natoms = lmp.get_natoms()
    -n3 = 3*natoms
    -x = (n3*c_double)()
    -x[0] = x coord of atom with ID 1
    -x[1] = y coord of atom with ID 1
    -x[2] = z coord of atom with ID 1
    -x[3] = x coord of atom with ID 2
    -...
    -x[n3-1] = z coord of atom with ID natoms
    -lmp.scatter_coords("x",1,3,x)
    -
    -

    Alternatively, you can just change values in the vector returned by -gather_atoms(“x”,1,3), since it is a ctypes vector of doubles.

    -
    -

    As noted above, these Python class methods correspond one-to-one with -the functions in the LAMMPS library interface in src/library.cpp and -library.h. This means you can extend the Python wrapper via the -following steps:

    -
      -
    • Add a new interface function to src/library.cpp and -src/library.h.
    • -
    • Rebuild LAMMPS as a shared library.
    • -
    • Add a wrapper method to python/lammps.py for this interface -function.
    • -
    • You should now be able to invoke the new interface function from a -Python script. Isn’t ctypes amazing?
    • -
    -
    -
    -

    11.8. 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 -things that are possible when Python wraps LAMMPS. If you create your -own scripts, send them to us and we can include them in the LAMMPS -distribution.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    trivial.pyread/run a LAMMPS input script thru Python
    demo.pyinvoke various LAMMPS library interface routines
    simple.pyrun in parallel
    similar to examples/COUPLE/simple/simple.cppsplit.py
    same as simple.py but running in parallel on a subset of procsgui.py
    GUI go/stop/temperature-slider to control LAMMPSplot.py
    real-time temeperature plot with GnuPlot via Pizza.pyviz_tool.py
    real-time viz via some viz packagevizplotgui_tool.py
    combination of viz_tool.py and plot.py and gui.py 
    -
    -

    For the viz_tool.py and vizplotgui_tool.py commands, replace “tool” -with “gl” or “atomeye” or “pymol” or “vmd”, depending on what -visualization package you have installed.

    -

    Note that for GL, you need to be able to run the Pizza.py GL tool, -which is included in the pizza sub-directory. See the Pizza.py doc pages for more info:

    -

    Note that for AtomEye, you need version 3, and there is a line in the -scripts that specifies the path and name of the executable. See the -AtomEye WWW pages here or here for more details:

    -
    http://mt.seas.upenn.edu/Archive/Graphics/A
    -http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html
    -
    -
    -

    The latter link is to AtomEye 3 which has the scriping -capability needed by these Python scripts.

    -

    Note that for PyMol, you need to have built and installed the -open-source version of PyMol in your Python, so that you can import it -from a Python script. See the PyMol WWW pages here or -here for more details:

    -
    -http://www.pymol.org
    -http://sourceforge.net/scm/?type=svn&group_id=4546
    -
    -

    The latter link is to the open-source version.

    -

    Note that for VMD, you need a fairly current version (1.8.7 works for -me) and there are some lines in the pizza/vmd.py script for 4 PIZZA -variables that have to match the VMD installation on your system.

    -
    -

    See the python/README file for instructions on how to run them and the -source code for individual scripts for comments about what they do.

    -

    Here are screenshots of the vizplotgui_tool.py script in action for -different visualization package options. Click to see larger images:

    - - - - -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_start.html b/doc/html/Section_start.html deleted file mode 100644 index 9b5f633420ec9c36d2b8bdd612ca1d55f4c3ca39..0000000000000000000000000000000000000000 --- a/doc/html/Section_start.html +++ /dev/null @@ -1,2057 +0,0 @@ - - - - - - - - - - - 2. Getting Started — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    2. Getting Started

    -

    This section describes how to build and run LAMMPS, for both new and -experienced users.

    - -
    -

    2.1. What’s in the LAMMPS distribution

    -

    When you download a LAMMPS tarball you will need to unzip and untar -the downloaded file with the following commands, after placing the -tarball in an appropriate directory.

    -
    -tar -xzvf lammps*.tar.gz
    -
    -

    This will create a LAMMPS directory containing two files and several -sub-directories:

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
    READMEtext file
    LICENSEthe GNU General Public License (GPL)
    benchbenchmark problems
    docdocumentation
    examplessimple test problems
    potentialsembedded atom method (EAM) potential files
    srcsource files
    toolspre- and post-processing tools
    -

    Note that the download page also has links to download -pre-build Windows installers, as well as pre-built packages for -several widely used Linux distributions. It also has instructions -for how to download/install LAMMPS for Macs (via Homebrew), and to -download and update LAMMPS from SVN and Git repositories, which gives -you access to the up-to-date sources that are used by the LAMMPS -core developers.

    -

    The Windows and Linux packages for serial or parallel include -only selected packages and bug-fixes/upgrades listed on this page up to a certain date, as -stated on the download page. If you want an executable with -non-included packages or that is more current, then you’ll need to -build LAMMPS yourself, as discussed in the next section.

    -

    Skip to the Running LAMMPS sections for info on how to -launch a LAMMPS Windows executable on a Windows box.

    -
    -
    -
    -

    2.2. Making LAMMPS

    -

    This section has the following sub-sections:

    - -
    -
    -

    2.2.1. Read this first

    -

    If you want to avoid building LAMMPS yourself, read the preceeding -section about options available for downloading and installing -executables. Details are discussed on the download page.

    -

    Building LAMMPS can be simple or not-so-simple. If all you need are -the default packages installed in LAMMPS, and MPI is already installed -on your machine, or you just want to run LAMMPS in serial, then you -can typically use the Makefile.mpi or Makefile.serial files in -src/MAKE by typing one of these lines (from the src dir):

    -
    make mpi
    -make serial
    -
    -
    -

    Note that on a facility supercomputer, there are often “modules” -loaded in your environment that provide the compilers and MPI you -should use. In this case, the “mpicxx” compile/link command in -Makefile.mpi should just work by accessing those modules.

    -

    It may be the case that one of the other Makefile.machine files in the -src/MAKE sub-directories is a better match to your system (type “make” -to see a list), you can use it as-is by typing (for example):

    -
    make stampede
    -
    -
    -

    If any of these builds (with an existing Makefile.machine) works on -your system, then you’re done!

    -

    If you want to do one of the following:

    -
      -
    • use optional LAMMPS features that require additional libraries
    • -
    • use optional packages that require additional libraries
    • -
    • use optional accelerator packages that require special compiler/linker settings
    • -
    • run on a specialized platform that has its own compilers, settings, or other libs to use
    • -
    -

    then building LAMMPS is more complicated. You may need to find where -auxiliary libraries exist on your machine or install them if they -don’t. You may need to build additional libraries that are part of -the LAMMPS package, before building LAMMPS. You may need to edit a -Makefile.machine file to make it compatible with your system.

    -

    Note that there is a Make.py tool in the src directory that automates -several of these steps, but you still have to know what you are doing. -Section 2.4 below describes the tool. It is a convenient -way to work with installing/un-installing various packages, the -Makefile.machine changes required by some packages, and the auxiliary -libraries some of them use.

    -

    Please read the following sections carefully. If you are not -comfortable with makefiles, or building codes on a Unix platform, or -running an MPI job on your machine, please find a local expert to help -you. Many compilation, linking, and run problems that users have are -often not really LAMMPS issues - they are peculiar to the user’s -system, compilers, libraries, etc. Such questions are better answered -by a local expert.

    -

    If you have a build problem that you are convinced is a LAMMPS issue -(e.g. the compiler complains about a line of LAMMPS source code), then -please post the issue to the LAMMPS mail list.

    -

    If you succeed in building LAMMPS on a new kind of machine, for which -there isn’t a similar machine Makefile included in the -src/MAKE/MACHINES directory, then send it to the developers and we can -include it in the LAMMPS distribution.

    -
    -
    -
    -

    2.2.2. Steps to build a LAMMPS executable

    -
    -

    2.2.2.1. Step 0

    -

    The src directory contains the C++ source and header files for LAMMPS. -It also contains a top-level Makefile and a MAKE sub-directory with -low-level Makefile.* files for many systems and machines. See the -src/MAKE/README file for a quick overview of what files are available -and what sub-directories they are in.

    -

    The src/MAKE dir has a few files that should work as-is on many -platforms. The src/MAKE/OPTIONS dir has more that invoke additional -compiler, MPI, and other setting options commonly used by LAMMPS, to -illustrate their syntax. The src/MAKE/MACHINES dir has many more that -have been tweaked or optimized for specific machines. These files are -all good starting points if you find you need to change them for your -machine. Put any file you edit into the src/MAKE/MINE directory and -it will be never be touched by any LAMMPS updates.

    -

    >From within the src directory, type “make” or “gmake”. You should see -a list of available choices from src/MAKE and all of its -sub-directories. If one of those has the options you want or is the -machine you want, you can type a command like:

    -
    make mpi
    -
    -
    -

    or

    -
    make serial
    -
    -
    -

    or

    -
    gmake mac
    -
    -
    -

    Note that the corresponding Makefile.machine can exist in src/MAKE or -any of its sub-directories. If a file with the same name appears in -multiple places (not a good idea), the order they are used is as -follows: src/MAKE/MINE, src/MAKE, src/MAKE/OPTIONS, src/MAKE/MACHINES. -This gives preference to a file you have created/edited and put in -src/MAKE/MINE.

    -

    Note that on a multi-processor or multi-core platform you can launch a -parallel make, by using the “-j” switch with the make command, which -will build LAMMPS more quickly.

    -

    If you get no errors and an executable like lmp_mpi or lmp_serial -or lmp_mac is produced, then you’re done; it’s your lucky day.

    -

    Note that by default only a few of LAMMPS optional packages are -installed. To build LAMMPS with optional packages, see this section below.

    -
    -
    -

    2.2.2.2. Step 1

    -

    If Step 0 did not work, you will need to create a low-level Makefile -for your machine, like Makefile.foo. You should make a copy of an -existing Makefile.* in src/MAKE or one of its sub-directories as a -starting point. The only portions of the file you need to edit are -the first line, the “compiler/linker settings” section, and the -“LAMMPS-specific settings” section. When it works, put the edited -file in src/MAKE/MINE and it will not be altered by any future LAMMPS -updates.

    -
    -
    -

    2.2.2.3. Step 2

    -

    Change the first line of Makefile.foo to list the word “foo” after the -“#”, and whatever other options it will set. This is the line you -will see if you just type “make”.

    -
    -
    -

    2.2.2.4. Step 3

    -

    The “compiler/linker settings” section lists compiler and linker -settings for your C++ compiler, including optimization flags. You can -use g++, the open-source GNU compiler, which is available on all Unix -systems. You can also use mpicxx which will typically be available if -MPI is installed on your system, though you should check which actual -compiler it wraps. Vendor compilers often produce faster code. On -boxes with Intel CPUs, we suggest using the Intel icc compiler, which -can be downloaded from Intel’s compiler site.

    -

    If building a C++ code on your machine requires additional libraries, -then you should list them as part of the LIB variable. You should -not need to do this if you use mpicxx.

    -

    The DEPFLAGS setting is what triggers the C++ compiler to create a -dependency list for a source file. This speeds re-compilation when -source (*.cpp) or header (*.h) files are edited. Some compilers do -not support dependency file creation, or may use a different switch -than -D. GNU g++ and Intel icc works with -D. If your compiler can’t -create dependency files, then you’ll need to create a Makefile.foo -patterned after Makefile.storm, which uses different rules that do not -involve dependency files. Note that when you build LAMMPS for the -first time on a new platform, a long list of *.d files will be printed -out rapidly. This is not an error; it is the Makefile doing its -normal creation of dependencies.

    -
    -
    -

    2.2.2.5. Step 4

    -

    The “system-specific settings” section has several parts. Note that -if you change any -D setting in this section, you should do a full -re-compile, after typing “make clean” (which will describe different -clean options).

    -

    The LMP_INC variable is used to include options that turn on ifdefs -within the LAMMPS code. The options that are currently recogized are:

    -
      -
    • -DLAMMPS_GZIP
    • -
    • -DLAMMPS_JPEG
    • -
    • -DLAMMPS_PNG
    • -
    • -DLAMMPS_FFMPEG
    • -
    • -DLAMMPS_MEMALIGN
    • -
    • -DLAMMPS_XDR
    • -
    • -DLAMMPS_SMALLBIG
    • -
    • -DLAMMPS_BIGBIG
    • -
    • -DLAMMPS_SMALLSMALL
    • -
    • -DLAMMPS_LONGLONG_TO_LONG
    • -
    • -DLAMMPS_EXCEPTIONS
    • -
    • -DPACK_ARRAY
    • -
    • -DPACK_POINTER
    • -
    • -DPACK_MEMCPY
    • -
    -

    The read_data and dump commands will read/write gzipped files if you -compile with -DLAMMPS_GZIP. It requires that your machine supports -the “popen()” function in the standard runtime library and that a gzip -executable can be found by LAMMPS during a run.

    -
    -

    Note

    -

    on some clusters with high-speed networks, using the fork() -library calls (required by popen()) can interfere with the fast -communication library and lead to simulations using compressed output -or input to hang or crash. For selected operations, compressed file -I/O is also available using a compression library instead, which are -provided in the COMPRESS package. From more details about compiling -LAMMPS with packages, please see below.

    -
    -

    If you use -DLAMMPS_JPEG, the dump image command -will be able to write out JPEG image files. For JPEG files, you must -also link LAMMPS with a JPEG library, as described below. If you use --DLAMMPS_PNG, the dump image command will be able to write -out PNG image files. For PNG files, you must also link LAMMPS with a -PNG library, as described below. If neither of those two defines are -used, LAMMPS will only be able to write out uncompressed PPM image -files.

    -

    If you use -DLAMMPS_FFMPEG, the dump movie command -will be available to support on-the-fly generation of rendered movies -the need to store intermediate image files. It requires that your -machines supports the “popen” function in the standard runtime library -and that an FFmpeg executable can be found by LAMMPS during the run.

    -
    -

    Note

    -

    Similar to the note above, this option can conflict with -high-speed networks, because it uses popen().

    -
    -

    Using -DLAMMPS_MEMALIGN=<bytes> enables the use of the -posix_memalign() call instead of malloc() when large chunks or memory -are allocated by LAMMPS. This can help to make more efficient use of -vector instructions of modern CPUS, since dynamically allocated memory -has to be aligned on larger than default byte boundaries (e.g. 16 -bytes instead of 8 bytes on x86 type platforms) for optimal -performance.

    -

    If you use -DLAMMPS_XDR, the build will include XDR compatibility -files for doing particle dumps in XTC format. This is only necessary -if your platform does have its own XDR files available. See the -Restrictions section of the dump command for details.

    -

    Use at most one of the -DLAMMPS_SMALLBIG, -DLAMMPS_BIGBIG, --DLAMMPS_SMALLSMALL settings. The default is -DLAMMPS_SMALLBIG. These -settings refer to use of 4-byte (small) vs 8-byte (big) integers -within LAMMPS, as specified in src/lmptype.h. The only reason to use -the BIGBIG setting is to enable simulation of huge molecular systems -(which store bond topology info) with more than 2 billion atoms, or to -track the image flags of moving atoms that wrap around a periodic box -more than 512 times. Normally, the only reason to use SMALLSMALL is -if your machine does not support 64-bit integers, though you can use -SMALLSMALL setting if you are running in serial or on a desktop -machine or small cluster where you will never run large systems or for -long time (more than 2 billion atoms, more than 2 billion timesteps). -See the Additional build tips section below for more -details on these settings.

    -

    Note that the USER-ATC package is not currently compatible with --DLAMMPS_BIGBIG. Also the GPU package requires the lib/gpu library to -be compiled with the same setting, or the link will fail.

    -

    The -DLAMMPS_LONGLONG_TO_LONG setting may be needed if your system or -MPI version does not recognize “long long” data types. In this case a -“long” data type is likely already 64-bits, in which case this setting -will convert to that data type.

    -

    The -DLAMMPS_EXCEPTIONS setting can be used to activate alternative -versions of error handling inside of LAMMPS. This is useful when -external codes drive LAMMPS as a library. Using this option, LAMMPS -errors do not kill the caller. Instead, the call stack is unwound and -control returns to the caller. The library interface provides the -lammps_has_error() and lammps_get_last_error_message() functions to -detect and find out more about a LAMMPS error.

    -

    Using one of the -DPACK_ARRAY, -DPACK_POINTER, and -DPACK_MEMCPY -options can make for faster parallel FFTs (in the PPPM solver) on some -platforms. The -DPACK_ARRAY setting is the default. See the -kspace_style command for info about PPPM. See -Step 6 below for info about building LAMMPS with an FFT library.

    -
    -
    -

    2.2.2.6. Step 5

    -

    The 3 MPI variables are used to specify an MPI library to build LAMMPS -with. Note that you do not need to set these if you use the MPI -compiler mpicxx for your CC and LINK setting in the section above. -The MPI wrapper knows where to find the needed files.

    -

    If you want LAMMPS to run in parallel, you must have an MPI library -installed on your platform. If MPI is installed on your system in the -usual place (under /usr/local), you also may not need to specify these -3 variables, assuming /usr/local is in your path. On some large -parallel machines which use “modules” for their compile/link -environements, you may simply need to include the correct module in -your build environment, before building LAMMPS. Or the parallel -machine may have a vendor-provided MPI which the compiler has no -trouble finding.

    -

    Failing this, these 3 variables can be used to specify where the mpi.h -file (MPI_INC) and the MPI library file (MPI_PATH) are found and the -name of the library file (MPI_LIB).

    -

    If you are installing MPI yourself, we recommend Argonne’s MPICH2 -or OpenMPI. MPICH can be downloaded from the Argonne MPI site. OpenMPI can -be downloaded from the OpenMPI site. -Other MPI packages should also work. If you are running on a big -parallel platform, your system people or the vendor should have -already installed a version of MPI, which is likely to be faster -than a self-installed MPICH or OpenMPI, so find out how to build -and link with it. If you use MPICH or OpenMPI, you will have to -configure and build it for your platform. The MPI configure script -should have compiler options to enable you to use the same compiler -you are using for the LAMMPS build, which can avoid problems that can -arise when linking LAMMPS to the MPI library.

    -

    If you just want to run LAMMPS on a single processor, you can use the -dummy MPI library provided in src/STUBS, since you don’t need a true -MPI library installed on your system. See src/MAKE/Makefile.serial -for how to specify the 3 MPI variables in this case. You will also -need to build the STUBS library for your platform before making LAMMPS -itself. Note that if you are building with src/MAKE/Makefile.serial, -e.g. by typing “make serial”, then the STUBS library is built for you.

    -

    To build the STUBS library from the src directory, type “make -mpi-stubs”, or from the src/STUBS dir, type “make”. This should -create a libmpi_stubs.a file suitable for linking to LAMMPS. If the -build fails, you will need to edit the STUBS/Makefile for your -platform.

    -

    The file STUBS/mpi.c provides a CPU timer function called MPI_Wtime() -that calls gettimeofday() . If your system doesn’t support -gettimeofday() , you’ll need to insert code to call another timer. -Note that the ANSI-standard function clock() rolls over after an hour -or so, and is therefore insufficient for timing long LAMMPS -simulations.

    -
    -
    -

    2.2.2.7. Step 6

    -

    The 3 FFT variables allow you to specify an FFT library which LAMMPS -uses (for performing 1d FFTs) when running the particle-particle -particle-mesh (PPPM) option for long-range Coulombics via the -kspace_style command.

    -

    LAMMPS supports various open-source or vendor-supplied FFT libraries -for this purpose. If you leave these 3 variables blank, LAMMPS will -use the open-source KISS FFT library, which is -included in the LAMMPS distribution. This library is portable to all -platforms and for typical LAMMPS simulations is almost as fast as FFTW -or vendor optimized libraries. If you are not including the KSPACE -package in your build, you can also leave the 3 variables blank.

    -

    Otherwise, select which kinds of FFTs to use as part of the FFT_INC -setting by a switch of the form -DFFT_XXX. Recommended values for XXX -are: MKL, SCSL, FFTW2, and FFTW3. Legacy options are: INTEL, SGI, -ACML, and T3E. For backward compatability, using -DFFT_FFTW will use -the FFTW2 library. Using -DFFT_NONE will use the KISS library -described above.

    -

    You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables, -so the compiler and linker can find the needed FFT header and library -files. Note that on some large parallel machines which use “modules” -for their compile/link environements, you may simply need to include -the correct module in your build environment. Or the parallel machine -may have a vendor-provided FFT library which the compiler has no -trouble finding.

    -

    FFTW is a fast, portable library that should also work on any -platform. You can download it from -www.fftw.org. Both the legacy version 2.1.X and -the newer 3.X versions are supported as -DFFT_FFTW2 or -DFFT_FFTW3. -Building FFTW for your box should be as simple as ./configure; make. -Note that on some platforms FFTW2 has been pre-installed, and uses -renamed files indicating the precision it was compiled with, -e.g. sfftw.h, or dfftw.h instead of fftw.h. In this case, you can -specify an additional define variable for FFT_INC called -DFFTW_SIZE, -which will select the correct include file. In this case, for FFT_LIB -you must also manually specify the correct library, namely -lsfftw or --ldfftw.

    -

    The FFT_INC variable also allows for a -DFFT_SINGLE setting that will -use single-precision FFTs with PPPM, which can speed-up long-range -calulations, particularly in parallel or on GPUs. Fourier transform -and related PPPM operations are somewhat insensitive to floating point -truncation errors and thus do not always need to be performed in -double precision. Using the -DFFT_SINGLE setting trades off a little -accuracy for reduced memory use and parallel communication costs for -transposing 3d FFT data. Note that single precision FFTs have only -been tested with the FFTW3, FFTW2, MKL, and KISS FFT options.

    -
    -
    -

    2.2.2.8. Step 7

    -

    The 3 JPG variables allow you to specify a JPEG and/or PNG library -which LAMMPS uses when writing out JPEG or PNG files via the dump image command. These can be left blank if you do not -use the -DLAMMPS_JPEG or -DLAMMPS_PNG switches discussed above in Step -4, since in that case JPEG/PNG output will be disabled.

    -

    A standard JPEG library usually goes by the name libjpeg.a or -libjpeg.so and has an associated header file jpeglib.h. Whichever -JPEG library you have on your platform, you’ll need to set the -appropriate JPG_INC, JPG_PATH, and JPG_LIB variables, so that the -compiler and linker can find it.

    -

    A standard PNG library usually goes by the name libpng.a or libpng.so -and has an associated header file png.h. Whichever PNG library you -have on your platform, you’ll need to set the appropriate JPG_INC, -JPG_PATH, and JPG_LIB variables, so that the compiler and linker can -find it.

    -

    As before, if these header and library files are in the usual place on -your machine, you may not need to set these variables.

    -
    -
    -

    2.2.2.9. Step 8

    -

    Note that by default only a few of LAMMPS optional packages are -installed. To build LAMMPS with optional packages, see this section below, before proceeding to Step 9.

    -
    -
    -

    2.2.2.10. Step 9

    -

    That’s it. Once you have a correct Makefile.foo, and you have -pre-built any other needed libraries (e.g. MPI, FFT, etc) all you need -to do from the src directory is type something like this:

    -
    make foo
    -make -j N foo
    -gmake foo
    -gmake -j N foo
    -
    -
    -

    The -j or -j N switches perform a parallel build which can be much -faster, depending on how many cores your compilation machine has. N -is the number of cores the build runs on.

    -

    You should get the executable lmp_foo when the build is complete.

    -
    -

    Errors that can occur when making LAMMPS: h5

    -
    -

    Note

    -

    If an error occurs when building LAMMPS, the compiler or linker -will state very explicitly what the problem is. The error message -should give you a hint as to which of the steps above has failed, and -what you need to do in order to fix it. Building a code with a -Makefile is a very logical process. The compiler and linker need to -find the appropriate files and those files need to be compatible with -LAMMPS source files. When a make fails, there is usually a very -simple reason, which you or a local expert will need to fix.

    -
    -

    Here are two non-obvious errors that can occur:

    -

    (1) If the make command breaks immediately with errors that indicate -it can’t find files with a “*” in their names, this can be because -your machine’s native make doesn’t support wildcard expansion in a -makefile. Try gmake instead of make. If that doesn’t work, try using -a -f switch with your make command to use a pre-generated -Makefile.list which explicitly lists all the needed files, e.g.

    -
    make makelist
    -make -f Makefile.list linux
    -gmake -f Makefile.list mac
    -
    -
    -

    The first “make” command will create a current Makefile.list with all -the file names in your src dir. The 2nd “make” command (make or -gmake) will use it to build LAMMPS. Note that you should -include/exclude any desired optional packages before using the “make -makelist” command.

    -

    (2) If you get an error that says something like ‘identifier “atoll” -is undefined’, then your machine does not support “long long” -integers. Try using the -DLAMMPS_LONGLONG_TO_LONG setting described -above in Step 4.

    -
    -
    -
    -
    -

    2.2.3. Additional build tips

    -
    -

    2.2.3.1. Building LAMMPS for multiple platforms.

    -

    You can make LAMMPS for multiple platforms from the same src -directory. Each target creates its own object sub-directory called -Obj_target where it stores the system-specific *.o files.

    -
    -
    -

    2.2.3.2. Cleaning up.

    -

    Typing “make clean-all” or “make clean-machine” will delete *.o object -files created when LAMMPS is built, for either all builds or for a -particular machine.

    -

    Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or --DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL -“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”

    -

    As explained above, any of these 3 settings can be specified on the -LMP_INC line in your low-level src/MAKE/Makefile.foo.

    -

    The default is -DLAMMPS_SMALLBIG which allows for systems with up to -2^63 atoms and 2^63 timesteps (about 9e18). The atom limit is for -atomic systems which do not store bond topology info and thus do not -require atom IDs. If you use atom IDs for atomic systems (which is -the default) or if you use a molecular model, which stores bond -topology info and thus requires atom IDs, the limit is 2^31 atoms -(about 2 billion). This is because the IDs are stored in 32-bit -integers.

    -

    Likewise, with this setting, the 3 image flags for each atom (see the -dump doc page for a discussion) are stored in a 32-bit -integer, which means the atoms can only wrap around a periodic box (in -each dimension) at most 512 times. If atoms move through the periodic -box more than this many times, the image flags will “roll over”, -e.g. from 511 to -512, which can cause diagnostics like the -mean-squared displacement, as calculated by the compute msd command, to be faulty.

    -

    To allow for larger atomic systems with atom IDs or larger molecular -systems or larger image flags, compile with -DLAMMPS_BIGBIG. This -stores atom IDs and image flags in 64-bit integers. This enables -atomic or molecular systems with atom IDS of up to 2^63 atoms (about -9e18). And image flags will not “roll over” until they reach 2^20 = -1048576.

    -

    If your system does not support 8-byte integers, you will need to -compile with the -DLAMMPS_SMALLSMALL setting. This will restrict the -total number of atoms (for atomic or molecular systems) and timesteps -to 2^31 (about 2 billion). Image flags will roll over at 2^9 = 512.

    -

    Note that in src/lmptype.h there are definitions of all these data -types as well as the MPI data types associated with them. The MPI -types need to be consistent with the associated C data types, or else -LAMMPS will generate a run-time error. As far as we know, the -settings defined in src/lmptype.h are portable and work on every -current system.

    -

    In all cases, the size of problem that can be run on a per-processor -basis is limited by 4-byte integer storage to 2^31 atoms per processor -(about 2 billion). This should not normally be a limitation since such -a problem would have a huge per-processor memory footprint due to -neighbor lists and would run very slowly in terms of CPU secs/timestep.

    -
    -
    -
    -
    -

    2.2.4. Building for a Mac

    -

    OS X is BSD Unix, so it should just work. See the -src/MAKE/MACHINES/Makefile.mac and Makefile.mac_mpi files.

    -
    -
    -
    -

    2.2.5. Building for Windows

    -

    If you want to build a Windows version of LAMMPS, you can build it -yourself, but it may require some effort. LAMMPS expects a Unix-like -build environment for the default build procedure. This can be done -using either Cygwin or MinGW; the latter also exists as a ready-to-use -Linux-to-Windows cross-compiler in several Linux distributions. In -these cases, you can do the installation after installing several -unix-style commands like make, grep, sed and bash with some shell -utilities.

    -

    For Cygwin and the MinGW cross-compilers, suitable makefiles are -provided in src/MAKE/MACHINES. When using other compilers, like -Visual C++ or Intel compilers for Windows, you may have to implement -your own build system. Since none of the current LAMMPS core developers -has significant experience building executables on Windows, we are -happy to distribute contributed instructions and modifications, but -we cannot provide support for those.

    -

    With the so-called “Anniversary Update” to Windows 10, there is a -Ubuntu subsystem available for Windows, that can be installed and -then it can be used to compile/install LAMMPS as if you are running -on a Ubuntu Linux system.

    -

    As an alternative, you can download “daily builds” (and some older -versions) of the installer packages from -rpm.lammps.org/windows.html. -These executables are built with most optional packages and the -download includes documentation, potential files, some tools and -many examples, but no source code.

    -
    -
    -
    -
    -

    2.3. Making LAMMPS with optional packages

    -

    This section has the following sub-sections:

    - -

    Note that the following Section 2.4 describes the Make.py -tool which can be used to install/un-install packages and build the -auxiliary libraries which some of them use. It can also auto-edit a -Makefile.machine to add settings needed by some packages.

    -
    -
    -

    2.3.1. Package basics:

    -

    The source code for LAMMPS is structured as a set of core files which -are always included, plus optional packages. Packages are groups of -files that enable a specific set of features. For example, force -fields for molecular systems or granular systems are in packages.

    -

    Section packages in the manual has details -about all the packages, including specific instructions for building -LAMMPS with each package, which are covered in a more general manner -below.

    -

    You can see the list of all packages by typing “make package” from -within the src directory of the LAMMPS distribution. This also lists -various make commands that can be used to manipulate packages.

    -

    If you use a command in a LAMMPS input script that is part of a -package, you must have built LAMMPS with that package, else you will -get an error that the style is invalid or the command is unknown. -Every command’s doc page specfies if it is part of a package. You can -also type

    -
    -lmp_machine -h
    -
    -

    to run your executable with the optional -h command-line switch for “help”, which will simply list the styles and -commands known to your executable, and immediately exit.

    -

    There are two kinds of packages in LAMMPS, standard and user packages. -More information about the contents of standard and user packages is -given in Section 4 of the manual. The -difference between standard and user packages is as follows:

    -

    Standard packages, such as molecule or kspace, are supported by the -LAMMPS developers and are written in a syntax and style consistent -with the rest of LAMMPS. This means we will answer questions about -them, debug and fix them if necessary, and keep them compatible with -future changes to LAMMPS.

    -

    User packages, such as user-atc or user-omp, have been contributed by -users, and always begin with the user prefix. If they are a single -command (single file), they are typically in the user-misc package. -Otherwise, they are a a set of files grouped together which add a -specific functionality to the code.

    -

    User packages don’t necessarily meet the requirements of the standard -packages. If you have problems using a feature provided in a user -package, you may need to contact the contributor directly to get help. -Information on how to submit additions you make to LAMMPS as single -files or either a standard or user-contributed package are given in -this section of the documentation.

    -
    -
    -
    -

    2.3.2. Including/excluding packages

    -

    To use (or not use) a package you must include it (or exclude it) -before building LAMMPS. From the src directory, this is typically as -simple as:

    -
    make yes-colloid
    -make g++
    -
    -
    -

    or

    -
    make no-manybody
    -make g++
    -
    -
    -
    -

    Note

    -

    You should NOT include/exclude packages and build LAMMPS in a -single make command using multiple targets, e.g. make yes-colloid g++. -This is because the make procedure creates a list of source files that -will be out-of-date for the build if the package configuration changes -within the same command.

    -
    -

    Some packages have individual files that depend on other packages -being included. LAMMPS checks for this and does the right thing. -I.e. individual files are only included if their dependencies are -already included. Likewise, if a package is excluded, other files -dependent on that package are also excluded.

    -

    If you will never run simulations that use the features in a -particular packages, there is no reason to include it in your build. -For some packages, this will keep you from having to build auxiliary -libraries (see below), and will also produce a smaller executable -which may run a bit faster.

    -

    When you download a LAMMPS tarball, these packages are pre-installed -in the src directory: KSPACE, MANYBODY,MOLECULE, because they are so -commonly used. When you download LAMMPS source files from the SVN or -Git repositories, no packages are pre-installed.

    -

    Packages are included or excluded by typing “make yes-name” or “make -no-name”, where “name” is the name of the package in lower-case, e.g. -name = kspace for the KSPACE package or name = user-atc for the -USER-ATC package. You can also type “make yes-standard”, “make -no-standard”, “make yes-std”, “make no-std”, “make yes-user”, “make -no-user”, “make yes-lib”, “make no-lib”, “make yes-all”, or “make -no-all” to include/exclude various sets of packages. Type “make -package” to see all of the package-related make options.

    -
    -

    Note

    -

    Inclusion/exclusion of a package works by simply moving files -back and forth between the main src directory and sub-directories with -the package name (e.g. src/KSPACE, src/USER-ATC), so that the files -are seen or not seen when LAMMPS is built. After you have included or -excluded a package, you must re-build LAMMPS.

    -
    -

    Additional package-related make options exist to help manage LAMMPS -files that exist in both the src directory and in package -sub-directories. You do not normally need to use these commands -unless you are editing LAMMPS files or have downloaded a patch from -the LAMMPS WWW site.

    -

    Typing “make package-update” or “make pu” will overwrite src files -with files from the package sub-directories if the package has been -included. It should be used after a patch is installed, since patches -only update the files in the package sub-directory, but not the src -files. Typing “make package-overwrite” will overwrite files in the -package sub-directories with src files.

    -

    Typing “make package-status” or “make ps” will show which packages are -currently included. For those that are included, it will list any -files that are different in the src directory and package -sub-directory. Typing “make package-diff” lists all differences -between these files. Again, type “make package” to see all of the -package-related make options.

    -
    -
    -
    -

    2.3.3. Packages that require extra libraries

    -

    A few of the standard and user packages require additional auxiliary -libraries. Many of them are provided with LAMMPS, in which case they -must be compiled first, before LAMMPS is built, if you wish to include -that package. If you get a LAMMPS build error about a missing -library, this is likely the reason. See the -Section 4 doc page for a list of -packages that have these kinds of auxiliary libraries.

    -

    The lib directory in the distribution has sub-directories with package -names that correspond to the needed auxiliary libs, e.g. lib/gpu. -Each sub-directory has a README file that gives more details. Code -for most of the auxiliary libraries is included in that directory. -Examples are the USER-ATC and MEAM packages.

    -

    A few of the lib sub-directories do not include code, but do include -instructions (and sometimes scripts) that automate the process of -downloading the auxiliary library and installing it so LAMMPS can link -to it. Examples are the KIM, VORONOI, USER-MOLFILE, and USER-SMD -packages.

    -

    The lib/python directory (for the PYTHON package) contains only a -choice of Makefile.lammps.* files. This is because no auxiliary code -or libraries are needed, only the Python library and other system libs -that should already available on your system. However, the -Makefile.lammps file is needed to tell LAMMPS which libs to use and -where to find them.

    -

    For libraries with provided code, the sub-directory README file -(e.g. lib/atc/README) has instructions on how to build that library. -This information is also summarized in Section packages. Typically this is done by typing -something like:

    -
    make -f Makefile.g++
    -
    -
    -

    If one of the provided Makefiles is not appropriate for your system -you will need to edit or add one. Note that all the Makefiles have a -setting for EXTRAMAKE at the top that specifies a Makefile.lammps.* -file.

    -

    If the library build is successful, it will produce 2 files in the lib -directory:

    -
    libpackage.a
    -Makefile.lammps
    -
    -
    -

    The Makefile.lammps file will typically be a copy of one of the -Makefile.lammps.* files in the library directory.

    -

    Note that you must insure that the settings in Makefile.lammps are -appropriate for your system. If they are not, the LAMMPS build may -fail. To fix this, you can edit or create a new Makefile.lammps.* -file for your system, and copy it to Makefile.lammps.

    -

    As explained in the lib/package/README files, the settings in -Makefile.lammps are used to specify additional system libraries and -their locations so that LAMMPS can build with the auxiliary library. -For example, if the MEAM package is used, the auxiliary library -consists of F90 code, built with a Fortran complier. To link that -library with LAMMPS (a C++ code) via whatever C++ compiler LAMMPS is -built with, typically requires additional Fortran-to-C libraries be -included in the link. Another example are the BLAS and LAPACK -libraries needed to use the USER-ATC or USER-AWPMD packages.

    -

    For libraries without provided code, the sub-directory README file has -information on where to download the library and how to build it, -e.g. lib/voronoi/README and lib/smd/README. The README files also -describe how you must either (a) create soft links, via the “ln” -command, in those directories to point to where you built or installed -the packages, or (b) check or edit the Makefile.lammps file in the -same directory to provide that information.

    -

    Some of the sub-directories, e.g. lib/voronoi, also have an install.py -script which can be used to automate the process of -downloading/building/installing the auxiliary library, and setting the -needed soft links. Type “python install.py” for further instructions.

    -

    As with the sub-directories containing library code, if the soft links -or settings in the lib/package/Makefile.lammps files are not correct, -the LAMMPS build will typically fail.

    -
    -
    -
    -

    2.3.4. Packages that require Makefile.machine settings

    -

    A few packages require specific settings in Makefile.machine, to -either build or use the package effectively. These are the -USER-INTEL, KOKKOS, USER-OMP, and OPT packages, used for accelerating -code performance on CPUs or other hardware, as discussed in Section acclerate.

    -

    A summary of what Makefile.machine changes are needed for each of -these packages is given in Section packages. -The details are given on the doc pages that describe each of these -accelerator packages in detail:

    - -

    You can also look at the following machine Makefiles in -src/MAKE/OPTIONS, which include the changes. Note that the USER-INTEL -and KOKKOS packages allow for settings that build LAMMPS for different -hardware. The USER-INTEL package builds for CPU and the Xeon Phi, the -KOKKOS package builds for OpenMP, GPUs (Cuda), and the Xeon Phi.

    -
      -
    • Makefile.intel_cpu
    • -
    • Makefile.intel_phi
    • -
    • Makefile.kokkos_omp
    • -
    • Makefile.kokkos_cuda
    • -
    • Makefile.kokkos_phi
    • -
    • Makefile.omp
    • -
    • Makefile.opt
    • -
    -

    Also note that the Make.py tool, described in the next Section 2.4 can automatically add the needed info to an existing -machine Makefile, using simple command-line arguments.

    -
    -
    -
    -
    -

    2.4. Building LAMMPS via the Make.py tool

    -

    The src directory includes a Make.py script, written in Python, which -can be used to automate various steps of the build process. It is -particularly useful for working with the accelerator packages, as well -as other packages which require auxiliary libraries to be built.

    -

    The goal of the Make.py tool is to allow any complex multi-step LAMMPS -build to be performed as a single Make.py command. And you can -archive the commands, so they can be re-invoked later via the -r -(redo) switch. If you find some LAMMPS build procedure that can’t be -done in a single Make.py command, let the developers know, and we’ll -see if we can augment the tool.

    -

    You can run Make.py from the src directory by typing either:

    -
    Make.py -h
    -python Make.py -h
    -
    -
    -

    which will give you help info about the tool. For the former to work, -you may need to edit the first line of Make.py to point to your local -Python. And you may need to insure the script is executable:

    -
    chmod +x Make.py
    -
    -
    -

    Here are examples of build tasks you can perform with Make.py:

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Install/uninstall packagesMake.py -p no-lib kokkos omp intel
    Build specific auxiliary libsMake.py -a lib-atc lib-meam
    Build libs for all installed packagesMake.py -p cuda gpu -gpu mode=double arch=31 -a lib-all
    Create a Makefile from scratch with compiler and MPI settingsMake.py -m none -cc g++ -mpi mpich -a file
    Augment Makefile.serial with settings for installed packagesMake.py -p intel -intel cpu -m serial -a file
    Add JPG and FFTW support to Makefile.mpiMake.py -m mpi -jpg -fft fftw -a file
    Build LAMMPS with a parallel make using Makefile.mpiMake.py -j 16 -m mpi -a exe
    Build LAMMPS and libs it needs using Makefile.serial with accelerator settingsMake.py -p gpu intel -intel cpu -a lib-all file serial
    -

    The bench and examples directories give Make.py commands that can be -used to build LAMMPS with the various packages and options needed to -run all the benchmark and example input scripts. See these files for -more details:

    -
      -
    • bench/README
    • -
    • bench/FERMI/README
    • -
    • bench/KEPLER/README
    • -
    • bench/PHI/README
    • -
    • examples/README
    • -
    • examples/accelerate/README
    • -
    • examples/accelerate/make.list
    • -
    -

    All of the Make.py options and syntax help can be accessed by using -the “-h” switch.

    -

    E.g. typing “Make.py -h” gives

    -
    Syntax: Make.py switch args ...
    -  switches can be listed in any order
    -  help switch:
    -    -h prints help and syntax for all other specified switches
    -  switch for actions:
    -    -a lib-all, lib-dir, clean, file, exe or machine
    -    list one or more actions, in any order
    -    machine is a Makefile.machine suffix, must be last if used
    -  one-letter switches:
    -    -d (dir), -j (jmake), -m (makefile), -o (output),
    -    -p (packages), -r (redo), -s (settings), -v (verbose)
    -  switches for libs:
    -    -atc, -awpmd, -colvars, -cuda
    -    -gpu, -meam, -poems, -qmmm, -reax
    -  switches for build and makefile options:
    -    -intel, -kokkos, -cc, -mpi, -fft, -jpg, -png
    -
    -
    -

    Using the “-h” switch with other switches and actions gives additional -info on all the other specified switches or actions. The “-h” can be -anywhere in the command-line and the other switches do not need their -arguments. E.g. type “Make.py -h -d -atc -intel” will print:

    -
    -d dir
    -  dir = LAMMPS home dir
    -  if -d not specified, working dir must be lammps/src
    -
    -
    -
    -atc make=suffix lammps=suffix2
    -  all args are optional and can be in any order
    -  make = use Makefile.suffix (def = g++)
    -  lammps = use Makefile.lammps.suffix2 (def = EXTRAMAKE in makefile)
    -
    -
    -
    -intel mode
    -  mode = cpu or phi (def = cpu)
    -    build Intel package for CPU or Xeon Phi
    -
    -
    -

    Note that Make.py never overwrites an existing Makefile.machine. -Instead, it creates src/MAKE/MINE/Makefile.auto, which you can save or -rename if desired. Likewise it creates an executable named -src/lmp_auto, which you can rename using the -o switch if desired.

    -

    The most recently executed Make.py commmand is saved in -src/Make.py.last. You can use the “-r” switch (for redo) to re-invoke -the last command, or you can save a sequence of one or more Make.py -commands to a file and invoke the file of commands using “-r”. You -can also label the commands in the file and invoke one or more of them -by name.

    -

    A typical use of Make.py is to start with a valid Makefile.machine for -your system, that works for a vanilla LAMMPS build, i.e. when optional -packages are not installed. You can then use Make.py to add various -settings (FFT, JPG, PNG) to the Makefile.machine as well as change its -compiler and MPI options. You can also add additional packages to the -build, as well as build the needed supporting libraries.

    -

    You can also use Make.py to create a new Makefile.machine from -scratch, using the “-m none” switch, if you also specify what compiler -and MPI options to use, via the “-cc” and “-mpi” switches.

    -
    -
    -
    -

    2.5. Building LAMMPS as a library

    -

    LAMMPS can be built as either a static or shared library, which can -then be called from another application or a scripting language. See -this section for more info on coupling -LAMMPS to other codes. See this section for -more info on wrapping and running LAMMPS from Python.

    -
    -

    2.5.1. Static library

    -

    To build LAMMPS as a static library (*.a file on Linux), type

    -
    make foo mode=lib
    -
    -
    -

    where foo is the machine name. This kind of library is typically used -to statically link a driver application to LAMMPS, so that you can -insure all dependencies are satisfied at compile time. This will use -the ARCHIVE and ARFLAGS settings in src/MAKE/Makefile.foo. The build -will create the file liblammps_foo.a which another application can -link to. It will also create a soft link liblammps.a, which will -point to the most recently built static library.

    -
    -
    -

    2.5.2. Shared library

    -

    To build LAMMPS as a shared library (*.so file on Linux), which can be -dynamically loaded, e.g. from Python, type

    -
    make foo mode=shlib
    -
    -
    -

    where foo is the machine name. This kind of library is required when -wrapping LAMMPS with Python; see Section 11 -for details. This will use the SHFLAGS and SHLIBFLAGS settings in -src/MAKE/Makefile.foo and perform the build in the directory -Obj_shared_foo. This is so that each file can be compiled with the --fPIC flag which is required for inclusion in a shared library. The -build will create the file liblammps_foo.so which another application -can link to dyamically. It will also create a soft link liblammps.so, -which will point to the most recently built shared library. This is -the file the Python wrapper loads by default.

    -

    Note that for a shared library to be usable by a calling program, all -the auxiliary libraries it depends on must also exist as shared -libraries. This will be the case for libraries included with LAMMPS, -such as the dummy MPI library in src/STUBS or any package libraries in -lib/packages, since they are always built as shared libraries using -the -fPIC switch. However, if a library like MPI or FFTW does not -exist as a shared library, the shared library build will generate an -error. This means you will need to install a shared library version -of the auxiliary library. The build instructions for the library -should tell you how to do this.

    -

    Here is an example of such errors when the system FFTW or provided -lib/colvars library have not been built as shared libraries:

    -
    -/usr/bin/ld: /usr/local/lib/libfftw3.a(mapflags.o): relocation
    -R_X86_64_32 against '.rodata' can not be used when making a shared
    -object; recompile with -fPIC
    -/usr/local/lib/libfftw3.a: could not read symbols: Bad value
    -
    -
    -/usr/bin/ld: ../../lib/colvars/libcolvars.a(colvarmodule.o):
    -relocation R_X86_64_32 against '__pthread_key_create' can not be used
    -when making a shared object; recompile with -fPIC
    -../../lib/colvars/libcolvars.a: error adding symbols: Bad value
    -
    -

    As an example, here is how to build and install the MPICH library, a popular open-source version of MPI, distributed by -Argonne National Labs, as a shared library in the default -/usr/local/lib location:

    -
    ./configure --enable-shared
    -make
    -make install
    -
    -
    -

    You may need to use “sudo make install” in place of the last line if -you do not have write privileges for /usr/local/lib. The end result -should be the file /usr/local/lib/libmpich.so.

    -
    -
    -

    2.5.3. Additional requirement for using a shared library:

    -

    The operating system finds shared libraries to load at run-time using -the environment variable LD_LIBRARY_PATH. So you may wish to copy the -file src/liblammps.so or src/liblammps_g++.so (for example) to a place -the system can find it by default, such as /usr/local/lib, or you may -wish to add the LAMMPS src directory to LD_LIBRARY_PATH, so that the -current version of the shared library is always available to programs -that use it.

    -

    For the csh or tcsh shells, you would add something like this to your -~/.cshrc file:

    -
    -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/src
    -
    -
    -
    -

    2.5.4. Calling the LAMMPS library

    -

    Either flavor of library (static or shared) allows one or more LAMMPS -objects to be instantiated from the calling program.

    -

    When used from a C++ program, all of LAMMPS is wrapped in a LAMMPS_NS -namespace; you can safely use any of its classes and methods from -within the calling code, as needed.

    -

    When used from a C or Fortran program or a scripting language like -Python, the library has a simple function-style interface, provided in -src/library.cpp and src/library.h.

    -

    See the sample codes in examples/COUPLE/simple for examples of C++ and -C and Fortran codes that invoke LAMMPS thru its library interface. -There are other examples as well in the COUPLE directory which are -discussed in Section 6.10 of the -manual. See Section 11 of the manual for a -description of the Python wrapper provided with LAMMPS that operates -through the LAMMPS library interface.

    -

    The files src/library.cpp and library.h define the C-style API for -using LAMMPS as a library. See Section 6.19 of the manual for a description of the -interface and how to extend it for your needs.

    -
    -
    -
    -
    -

    2.6. Running LAMMPS

    -

    By default, LAMMPS runs by reading commands from standard input. Thus -if you run the LAMMPS executable by itself, e.g.

    -
    -lmp_linux
    -
    -

    it will simply wait, expecting commands from the keyboard. Typically -you should put commands in an input script and use I/O redirection, -e.g.

    -
    -lmp_linux < in.file
    -
    -

    For parallel environments this should also work. If it does not, use -the ‘-in’ command-line switch, e.g.

    -
    -lmp_linux -in in.file
    -
    -

    This section describes how input scripts are -structured and what commands they contain.

    -

    You can test LAMMPS on any of the sample inputs provided in the -examples or bench directory. Input scripts are named in.* and sample -outputs are named log.*.name.P where name is a machine and P is the -number of processors it was run on.

    -

    Here is how you might run a standard Lennard-Jones benchmark on a -Linux box, using mpirun to launch a parallel job:

    -
    -cd src
    -make linux
    -cp lmp_linux ../bench
    -cd ../bench
    -mpirun -np 4 lmp_linux -in in.lj
    -
    -

    See this page for timings for this and the other benchmarks on -various platforms. Note that some of the example scripts require -LAMMPS to be built with one or more of its optional packages.

    -
    -

    On a Windows box, you can skip making LAMMPS and simply download an -installer package from here

    -

    For running the non-MPI executable, follow these steps:

    -
      -
    • Get a command prompt by going to Start->Run... , -then typing “cmd”.
    • -
    • Move to the directory where you have your input, e.g. a copy of -the in.lj input from the bench folder. (e.g. by typing: cd “Documents”).
    • -
    • At the command prompt, type “lmp_serial -in in.lj”, replacing in.lj -with the name of your LAMMPS input script.
    • -
    -

    For the MPI version, which allows you to run LAMMPS under Windows on -multiple processors, follow these steps:

    -
      -
    • Download and install -MPICH2 -for Windows.

      -

      The LAMMPS Windows installer packages will automatically adjust your -path for the default location of this MPI package. After the installation -of the MPICH software, it needs to be integrated into the system. -For this you need to start a Command Prompt in Administrator Mode -(right click on the icon and select it). Change into the MPICH2 -installation directory, then into the subdirectory bin and execute -smpd.exe -install. Exit the command window.

      -
    • -
    • Get a new, regular command prompt by going to Start->Run... , -then typing “cmd”.

      -
    • -
    • Move to the directory where you have your input file -(e.g. by typing: cd “Documents”).

      -

      Then type something like this:

      -
      -mpiexec -localonly 4 lmp_mpi -in in.lj
      -
      -

      or

      -
      -mpiexec -np 4 lmp_mpi -in in.lj
      -
      -
    • -
    • replacing in.lj with the name of your LAMMPS input script. For the latter -case, you may be prompted to enter your password.

      -
    • -
    • In this mode, output may not immediately show up on the screen, so if -your input script takes a long time to execute, you may need to be -patient before the output shows up.

      -

      The parallel executable can also run on a single processor by typing -something like:

      -
      -lmp_mpi -in in.lj
      -
      -
    • -
    -
    -

    The screen output from LAMMPS is described in a section below. As it -runs, LAMMPS also writes a log.lammps file with the same information.

    -

    Note that this sequence of commands copies the LAMMPS executable -(lmp_linux) to the directory with the input files. This may not be -necessary, but some versions of MPI reset the working directory to -where the executable is, rather than leave it as the directory where -you launch mpirun from (if you launch lmp_linux on its own and not -under mpirun). If that happens, LAMMPS will look for additional input -files and write its output files to the executable directory, rather -than your working directory, which is probably not what you want.

    -

    If LAMMPS encounters errors in the input script or while running a -simulation it will print an ERROR message and stop or a WARNING -message and continue. See Section 12 for a -discussion of the various kinds of errors LAMMPS can or can’t detect, -a list of all ERROR and WARNING messages, and what to do about them.

    -

    LAMMPS can run a problem on any number of processors, including a -single processor. In theory you should get identical answers on any -number of processors and on any machine. In practice, numerical -round-off can cause slight differences and eventual divergence of -molecular dynamics phase space trajectories.

    -

    LAMMPS can run as large a problem as will fit in the physical memory -of one or more processors. If you run out of memory, you must run on -more processors or setup a smaller problem.

    -
    -
    -
    -

    2.7. Command-line options

    -

    At run time, LAMMPS recognizes several optional command-line switches -which may be used in any order. Either the full word or a one-or-two -letter abbreviation can be used:

    -
      -
    • -e or -echo
    • -
    • -h or -help
    • -
    • -i or -in
    • -
    • -k or -kokkos
    • -
    • -l or -log
    • -
    • -nc or -nocite
    • -
    • -pk or -package
    • -
    • -p or -partition
    • -
    • -pl or -plog
    • -
    • -ps or -pscreen
    • -
    • -r or -restart
    • -
    • -ro or -reorder
    • -
    • -sc or -screen
    • -
    • -sf or -suffix
    • -
    • -v or -var
    • -
    -

    For example, lmp_ibm might be launched as follows:

    -
    -mpirun -np 16 lmp_ibm -v f tmp.out -l my.log -sc none -in in.alloy
    -mpirun -np 16 lmp_ibm -var f tmp.out -log my.log -screen none -in in.alloy
    -
    -

    Here are the details on the options:

    -
    -echo style
    -
    -
    -

    Set the style of command echoing. The style can be none or screen -or log or both. Depending on the style, each command read from -the input script will be echoed to the screen and/or logfile. This -can be useful to figure out which line of your script is causing an -input error. The default value is log. The echo style can also be -set by using the echo command in the input script itself.

    -
    -help
    -
    -
    -

    Print a brief help summary and a list of options compiled into this -executable for each LAMMPS style (atom_style, fix, compute, -pair_style, bond_style, etc). This can tell you if the command you -want to use was included via the appropriate package at compile time. -LAMMPS will print the info and immediately exit if this switch is -used.

    -
    -in file
    -
    -
    -

    Specify a file to use as an input script. This is an optional switch -when running LAMMPS in one-partition mode. If it is not specified, -LAMMPS reads its script from standard input, typically from a script -via I/O redirection; e.g. lmp_linux < in.run. I/O redirection should -also work in parallel, but if it does not (in the unlikely case that -an MPI implementation does not support it), then use the -in flag. -Note that this is a required switch when running LAMMPS in -multi-partition mode, since multiple processors cannot all read from -stdin.

    -
    -kokkos on/off keyword/value ...
    -
    -
    -

    Explicitly enable or disable KOKKOS support, as provided by the KOKKOS -package. Even if LAMMPS is built with this package, as described -above in Section 2.3, this switch must be set to enable -running with the KOKKOS-enabled styles the package provides. If the -switch is not set (the default), LAMMPS will operate as if the KOKKOS -package were not installed; i.e. you can run standard LAMMPS or with -the GPU or USER-OMP packages, for testing or benchmarking purposes.

    -

    Additional optional keyword/value pairs can be specified which -determine how Kokkos will use the underlying hardware on your -platform. These settings apply to each MPI task you launch via the -“mpirun” or “mpiexec” command. You may choose to run one or more MPI -tasks per physical node. Note that if you are running on a desktop -machine, you typically have one physical node. On a cluster or -supercomputer there may be dozens or 1000s of physical nodes.

    -

    Either the full word or an abbreviation can be used for the keywords. -Note that the keywords do not use a leading minus sign. I.e. the -keyword is “t”, not “-t”. Also note that each of the keywords has a -default setting. Example of when to use these options and what -settings to use on different platforms is given in Section 5.8.

    -
      -
    • d or device
    • -
    • g or gpus
    • -
    • t or threads
    • -
    • n or numa
    • -
    -
    device Nd
    -
    -
    -

    This option is only relevant if you built LAMMPS with CUDA=yes, you -have more than one GPU per node, and if you are running with only one -MPI task per node. The Nd setting is the ID of the GPU on the node to -run on. By default Nd = 0. If you have multiple GPUs per node, they -have consecutive IDs numbered as 0,1,2,etc. This setting allows you -to launch multiple independent jobs on the node, each with a single -MPI task per node, and assign each job to run on a different GPU.

    -
    gpus Ng Ns
    -
    -
    -

    This option is only relevant if you built LAMMPS with CUDA=yes, you -have more than one GPU per node, and you are running with multiple MPI -tasks per node (up to one per GPU). The Ng setting is how many GPUs -you will use. The Ns setting is optional. If set, it is the ID of a -GPU to skip when assigning MPI tasks to GPUs. This may be useful if -your desktop system reserves one GPU to drive the screen and the rest -are intended for computational work like running LAMMPS. By default -Ng = 1 and Ns is not set.

    -

    Depending on which flavor of MPI you are running, LAMMPS will look for -one of these 3 environment variables

    -
    -SLURM_LOCALID (various MPI variants compiled with SLURM support)
    -MV2_COMM_WORLD_LOCAL_RANK (Mvapich)
    -OMPI_COMM_WORLD_LOCAL_RANK (OpenMPI)
    -
    -

    which are initialized by the “srun”, “mpirun” or “mpiexec” commands. -The environment variable setting for each MPI rank is used to assign a -unique GPU ID to the MPI task.

    -
    threads Nt
    -
    -
    -

    This option assigns Nt number of threads to each MPI task for -performing work when Kokkos is executing in OpenMP or pthreads mode. -The default is Nt = 1, which essentially runs in MPI-only mode. If -there are Np MPI tasks per physical node, you generally want Np*Nt = -the number of physical cores per node, to use your available hardware -optimally. This also sets the number of threads used by the host when -LAMMPS is compiled with CUDA=yes.

    -
    numa Nm
    -
    -
    -

    This option is only relevant when using pthreads with hwloc support. -In this case Nm defines the number of NUMA regions (typicaly sockets) -on a node which will be utilizied by a single MPI rank. By default Nm -= 1. If this option is used the total number of worker-threads per -MPI rank is threads*numa. Currently it is always almost better to -assign at least one MPI rank per NUMA region, and leave numa set to -its default value of 1. This is because letting a single process span -multiple NUMA regions induces a significant amount of cross NUMA data -traffic which is slow.

    -
    -log file
    -
    -
    -

    Specify a log file for LAMMPS to write status information to. In -one-partition mode, if the switch is not used, LAMMPS writes to the -file log.lammps. If this switch is used, LAMMPS writes to the -specified file. In multi-partition mode, if the switch is not used, a -log.lammps file is created with hi-level status information. Each -partition also writes to a log.lammps.N file where N is the partition -ID. If the switch is specified in multi-partition mode, the hi-level -logfile is named “file” and each partition also logs information to a -file.N. For both one-partition and multi-partition mode, if the -specified file is “none”, then no log files are created. Using a -log command in the input script will override this setting. -Option -plog will override the name of the partition log files file.N.

    -
    -nocite
    -
    -
    -

    Disable writing the log.cite file which is normally written to list -references for specific cite-able features used during a LAMMPS run. -See the citation page for more -details.

    -
    -package style args ....
    -
    -
    -

    Invoke the package command with style and args. The -syntax is the same as if the command appeared at the top of the input -script. For example “-package gpu 2” or “-pk gpu 2” is the same as -package gpu 2 in the input script. The possible styles -and args are documented on the package doc page. This -switch can be used multiple times, e.g. to set options for the -USER-INTEL and USER-OMP packages which can be used together.

    -

    Along with the “-suffix” command-line switch, this is a convenient -mechanism for invoking accelerator packages and their options without -having to edit an input script.

    -
    -partition 8x2 4 5 ...
    -
    -
    -

    Invoke LAMMPS in multi-partition mode. When LAMMPS is run on P -processors and this switch is not used, LAMMPS runs in one partition, -i.e. all P processors run a single simulation. If this switch is -used, the P processors are split into separate partitions and each -partition runs its own simulation. The arguments to the switch -specify the number of processors in each partition. Arguments of the -form MxN mean M partitions, each with N processors. Arguments of the -form N mean a single partition with N processors. The sum of -processors in all partitions must equal P. Thus the command -“-partition 8x2 4 5” has 10 partitions and runs on a total of 25 -processors.

    -

    Running with multiple partitions can e useful for running -multi-replica simulations, where each -replica runs on on one or a few processors. Note that with MPI -installed on a machine (e.g. your desktop), you can run on more -(virtual) processors than you have physical processors.

    -

    To run multiple independent simulatoins from one input script, using -multiple partitions, see Section 6.4 -of the manual. World- and universe-style variables -are useful in this context.

    -
    -plog file
    -
    -
    -

    Specify the base name for the partition log files, so partition N -writes log information to file.N. If file is none, then no partition -log files are created. This overrides the filename specified in the --log command-line option. This option is useful when working with -large numbers of partitions, allowing the partition log files to be -suppressed (-plog none) or placed in a sub-directory (-plog -replica_files/log.lammps) If this option is not used the log file for -partition N is log.lammps.N or whatever is specified by the -log -command-line option.

    -
    -pscreen file
    -
    -
    -

    Specify the base name for the partition screen file, so partition N -writes screen information to file.N. If file is none, then no -partition screen files are created. This overrides the filename -specified in the -screen command-line option. This option is useful -when working with large numbers of partitions, allowing the partition -screen files to be suppressed (-pscreen none) or placed in a -sub-directory (-pscreen replica_files/screen). If this option is not -used the screen file for partition N is screen.N or whatever is -specified by the -screen command-line option.

    -
    --restart restartfile remap datafile keyword value ...
    -
    -

    Convert the restart file into a data file and immediately exit. This -is the same operation as if the following 2-line input script were -run:

    -
    -read_restart restartfile remap
    -write_data datafile keyword value ...
    -
    -

    Note that the specified restartfile and datafile can have wild-card -characters (“*”,%”) as described by the -read_restart and write_data -commands. But a filename such as file.* will need to be enclosed in -quotes to avoid shell expansion of the “*” character.

    -

    Note that following restartfile, the optional flag remap can be -used. This has the same effect as adding it to the -read_restart command, as explained on its doc -page. This is only useful if the reading of the restart file triggers -an error that atoms have been lost. In that case, use of the remap -flag should allow the data file to still be produced.

    -

    Also note that following datafile, the same optional keyword/value -pairs can be listed as used by the write_data -command.

    -
    -reorder nth N
    --reorder custom filename
    -
    -
    -

    Reorder the processors in the MPI communicator used to instantiate -LAMMPS, in one of several ways. The original MPI communicator ranks -all P processors from 0 to P-1. The mapping of these ranks to -physical processors is done by MPI before LAMMPS begins. It may be -useful in some cases to alter the rank order. E.g. to insure that -cores within each node are ranked in a desired order. Or when using -the run_style verlet/split command with 2 partitions -to insure that a specific Kspace processor (in the 2nd partition) is -matched up with a specific set of processors in the 1st partition. -See the Section 5 doc pages for -more details.

    -

    If the keyword nth is used with a setting N, then it means every -Nth processor will be moved to the end of the ranking. This is useful -when using the run_style verlet/split command with 2 -partitions via the -partition command-line switch. The first set of -processors will be in the first partition, the 2nd set in the 2nd -partition. The -reorder command-line switch can alter this so that -the 1st N procs in the 1st partition and one proc in the 2nd partition -will be ordered consecutively, e.g. as the cores on one physical node. -This can boost performance. For example, if you use “-reorder nth 4” -and “-partition 9 3” and you are running on 12 processors, the -processors will be reordered from

    -
    0 1 2 3 4 5 6 7 8 9 10 11
    -
    -
    -

    to

    -
    0 1 2 4 5 6 8 9 10 3 7 11
    -
    -
    -

    so that the processors in each partition will be

    -
    0 1 2 4 5 6 8 9 10
    -3 7 11
    -
    -
    -

    See the “processors” command for how to insure processors from each -partition could then be grouped optimally for quad-core nodes.

    -

    If the keyword is custom, then a file that specifies a permutation -of the processor ranks is also specified. The format of the reorder -file is as follows. Any number of initial blank or comment lines -(starting with a “#” character) can be present. These should be -followed by P lines of the form:

    -
    I J
    -
    -
    -

    where P is the number of processors LAMMPS was launched with. Note -that if running in multi-partition mode (see the -partition switch -above) P is the total number of processors in all partitions. The I -and J values describe a permutation of the P processors. Every I and -J should be values from 0 to P-1 inclusive. In the set of P I values, -every proc ID should appear exactly once. Ditto for the set of P J -values. A single I,J pairing means that the physical processor with -rank I in the original MPI communicator will have rank J in the -reordered communicator.

    -

    Note that rank ordering can also be specified by many MPI -implementations, either by environment variables that specify how to -order physical processors, or by config files that specify what -physical processors to assign to each MPI rank. The -reorder switch -simply gives you a portable way to do this without relying on MPI -itself. See the processors out command for how to output -info on the final assignment of physical processors to the LAMMPS -simulation domain.

    -
    -screen file
    -
    -
    -

    Specify a file for LAMMPS to write its screen information to. In -one-partition mode, if the switch is not used, LAMMPS writes to the -screen. If this switch is used, LAMMPS writes to the specified file -instead and you will see no screen output. In multi-partition mode, -if the switch is not used, hi-level status information is written to -the screen. Each partition also writes to a screen.N file where N is -the partition ID. If the switch is specified in multi-partition mode, -the hi-level screen dump is named “file” and each partition also -writes screen information to a file.N. For both one-partition and -multi-partition mode, if the specified file is “none”, then no screen -output is performed. Option -pscreen will override the name of the -partition screen files file.N.

    -
    -suffix style args
    -
    -
    -

    Use variants of various styles if they exist. The specified style can -be cuda, gpu, intel, kk, omp, opt, or hybrid. These -refer to optional packages that LAMMPS can be built with, as described -above in Section 2.3. The “gpu” style corresponds to the -GPU package, the “intel” style to the USER-INTEL package, the “kk” -style to the KOKKOS package, the “opt” style to the OPT package, and -the “omp” style to the USER-OMP package. The hybrid style is the only -style that accepts arguments. It allows for two packages to be -specified. The first package specified is the default and will be used -if it is available. If no style is available for the first package, -the style for the second package will be used if available. For -example, “-suffix hybrid intel omp” will use styles from the -USER-INTEL package if they are installed and available, but styles for -the USER-OMP package otherwise.

    -

    Along with the “-package” command-line switch, this is a convenient -mechanism for invoking accelerator packages and their options without -having to edit an input script.

    -

    As an example, all of the packages provide a pair_style lj/cut variant, with style names lj/cut/gpu, -lj/cut/intel, lj/cut/kk, lj/cut/omp, and lj/cut/opt. A variant style -can be specified explicitly in your input script, e.g. pair_style -lj/cut/gpu. If the -suffix switch is used the specified suffix -(gpu,intel,kk,omp,opt) is automatically appended whenever your input -script command creates a new atom, -pair, fix, compute, or -run style. If the variant version does not exist, -the standard version is created.

    -

    For the GPU package, using this command-line switch also invokes the -default GPU settings, as if the command “package gpu 1” were used at -the top of your input script. These settings can be changed by using -the “-package gpu” command-line switch or the package gpu command in your script.

    -

    For the USER-INTEL package, using this command-line switch also -invokes the default USER-INTEL settings, as if the command “package -intel 1” were used at the top of your input script. These settings -can be changed by using the “-package intel” command-line switch or -the package intel command in your script. If the -USER-OMP package is also installed, the hybrid style with “intel omp” -arguments can be used to make the omp suffix a second choice, if a -requested style is not available in the USER-INTEL package. It will -also invoke the default USER-OMP settings, as if the command “package -omp 0” were used at the top of your input script. These settings can -be changed by using the “-package omp” command-line switch or the -package omp command in your script.

    -

    For the KOKKOS package, using this command-line switch also invokes -the default KOKKOS settings, as if the command “package kokkos” were -used at the top of your input script. These settings can be changed -by using the “-package kokkos” command-line switch or the package kokkos command in your script.

    -

    For the OMP package, using this command-line switch also invokes the -default OMP settings, as if the command “package omp 0” were used at -the top of your input script. These settings can be changed by using -the “-package omp” command-line switch or the package omp command in your script.

    -

    The suffix command can also be used within an input -script to set a suffix, or to turn off or back on any suffix setting -made via the command line.

    -
    -var name value1 value2 ...
    -
    -
    -

    Specify a variable that will be defined for substitution purposes when -the input script is read. This switch can be used multiple times to -define multiple variables. “Name” is the variable name which can be a -single character (referenced as $x in the input script) or a full -string (referenced as ${abc}). An index-style variable will be created and populated with the -subsequent values, e.g. a set of filenames. Using this command-line -option is equivalent to putting the line “variable name index value1 -value2 ...” at the beginning of the input script. Defining an index -variable as a command-line argument overrides any setting for the same -index variable in the input script, since index variables cannot be -re-defined. See the variable command for more info on -defining index and other kinds of variables and this section for more info on using variables -in input scripts.

    -
    -

    Note

    -

    Currently, the command-line parser looks for arguments that -start with “-” to indicate new switches. Thus you cannot specify -multiple variable values if any of they start with a “-”, e.g. a -negative numeric value. It is OK if the first value1 starts with a -“-”, since it is automatically skipped.

    -
    -
    -
    -
    -

    2.8. LAMMPS screen output

    -

    As LAMMPS reads an input script, it prints information to both the -screen and a log file about significant actions it takes to setup a -simulation. When the simulation is ready to begin, LAMMPS performs -various initializations and prints the amount of memory (in MBytes per -processor) that the simulation requires. It also prints details of -the initial thermodynamic state of the system. During the run itself, -thermodynamic information is printed periodically, every few -timesteps. When the run concludes, LAMMPS prints the final -thermodynamic state and a total run time for the simulation. It then -appends statistics about the CPU time and storage requirements for the -simulation. An example set of statistics is shown here:

    -

    Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms

    -
    Performance: 18.436 ns/day  1.302 hours/ns  106.689 timesteps/s
    -97.0% CPU use with 4 MPI tasks x no OpenMP threads
    -
    -
    -
    -MPI task timings breakdown:
    -Section |  min time  |  avg time  |  max time  |%varavg| %total
    ----------------------------------------------------------------
    -Pair    | 1.9808     | 2.0134     | 2.0318     |   1.4 | 71.60
    -Bond    | 0.0021894  | 0.0060319  | 0.010058   |   4.7 |  0.21
    -Kspace  | 0.3207     | 0.3366     | 0.36616    |   3.1 | 11.97
    -Neigh   | 0.28411    | 0.28464    | 0.28516    |   0.1 | 10.12
    -Comm    | 0.075732   | 0.077018   | 0.07883    |   0.4 |  2.74
    -Output  | 0.00030518 | 0.00042665 | 0.00078821 |   1.0 |  0.02
    -Modify  | 0.086606   | 0.086631   | 0.086668   |   0.0 |  3.08
    -Other   |            | 0.007178   |            |       |  0.26
    -
    -
    Nlocal:    501 ave 508 max 490 min
    -Histogram: 1 0 0 0 0 0 1 1 0 1
    -Nghost:    6586.25 ave 6628 max 6548 min
    -Histogram: 1 0 1 0 0 0 1 0 0 1
    -Neighs:    177007 ave 180562 max 170212 min
    -Histogram: 1 0 0 0 0 0 0 1 1 1
    -
    -
    -
    Total # of neighbors = 708028
    -Ave neighs/atom = 353.307
    -Ave special neighs/atom = 2.34032
    -Neighbor list builds = 26
    -Dangerous builds = 0
    -
    -
    -

    The first section provides a global loop timing summary. The loop time -is the total wall time for the section. The Performance line is -provided for convenience to help predicting the number of loop -continuations required and for comparing performance with other -similar MD codes. The CPU use line provides the CPU utilzation per -MPI task; it should be close to 100% times the number of OpenMP -threads (or 1). Lower numbers correspond to delays due to file I/O or -insufficient thread utilization.

    -

    The MPI task section gives the breakdown of the CPU run time (in -seconds) into major categories:

    -
      -
    • Pair stands for all non-bonded force computation
    • -
    • Bond stands for bonded interactions: bonds, angles, dihedrals, impropers
    • -
    • Kspace stands for reciprocal space interactions: Ewald, PPPM, MSM
    • -
    • Neigh stands for neighbor list construction
    • -
    • Comm stands for communicating atoms and their properties
    • -
    • Output stands for writing dumps and thermo output
    • -
    • Modify stands for fixes and computes called by them
    • -
    • Other is the remaining time
    • -
    -

    For each category, there is a breakdown of the least, average and most -amount of wall time a processor spent on this section. Also you have the -variation from the average time. Together these numbers allow to gauge -the amount of load imbalance in this segment of the calculation. Ideally -the difference between minimum, maximum and average is small and thus -the variation from the average close to zero. The final column shows -the percentage of the total loop time is spent in this section.

    -

    When using the timer full setting, an additional column -is present that also prints the CPU utilization in percent. In -addition, when using timer full and the package omp -command are active, a similar timing summary of time spent in threaded -regions to monitor thread utilization and load balance is provided. A -new entry is the Reduce section, which lists the time spend in -reducing the per-thread data elements to the storage for non-threaded -computation. These thread timings are taking from the first MPI rank -only and and thus, as the breakdown for MPI tasks can change from MPI -rank to MPI rank, this breakdown can be very different for individual -ranks. Here is an example output for this section:

    -
    -Thread timings breakdown (MPI rank 0):
    -Total threaded time 0.6846 / 90.6%
    -Section |  min time  |  avg time  |  max time  |%varavg| %total
    ----------------------------------------------------------------
    -Pair    | 0.5127     | 0.5147     | 0.5167     |   0.3 | 75.18
    -Bond    | 0.0043139  | 0.0046779  | 0.0050418  |   0.5 |  0.68
    -Kspace  | 0.070572   | 0.074541   | 0.07851    |   1.5 | 10.89
    -Neigh   | 0.084778   | 0.086969   | 0.089161   |   0.7 | 12.70
    -Reduce  | 0.0036485  | 0.003737   | 0.0038254  |   0.1 |  0.55
    -
    -

    The third section lists the number of owned atoms (Nlocal), ghost atoms -(Nghost), and pair-wise neighbors stored per processor. The max and min -values give the spread of these values across processors with a 10-bin -histogram showing the distribution. The total number of histogram counts -is equal to the number of processors.

    -

    The last section gives aggregate statistics for pair-wise neighbors -and special neighbors that LAMMPS keeps track of (see the -special_bonds command). The number of times -neighbor lists were rebuilt during the run is given as well as the -number of potentially “dangerous” rebuilds. If atom movement -triggered neighbor list rebuilding (see the -neigh_modify command), then dangerous -reneighborings are those that were triggered on the first timestep -atom movement was checked for. If this count is non-zero you may wish -to reduce the delay factor to insure no force interactions are missed -by atoms moving beyond the neighbor skin distance before a rebuild -takes place.

    -

    If an energy minimization was performed via the -minimize command, additional information is printed, -e.g.

    -
    Minimization stats:
    -  Stopping criterion = linesearch alpha is zero
    -  Energy initial, next-to-last, final =
    -         -6372.3765206     -8328.46998942     -8328.46998942
    -  Force two-norm initial, final = 1059.36 5.36874
    -  Force max component initial, final = 58.6026 1.46872
    -  Final line search alpha, max atom move = 2.7842e-10 4.0892e-10
    -  Iterations, force evaluations = 701 1516
    -
    -
    -

    The first line prints the criterion that determined the minimization -to be completed. The third line lists the initial and final energy, -as well as the energy on the next-to-last iteration. The next 2 lines -give a measure of the gradient of the energy (force on all atoms). -The 2-norm is the “length” of this force vector; the inf-norm is the -largest component. Then some information about the line search and -statistics on how many iterations and force-evaluations the minimizer -required. Multiple force evaluations are typically done at each -iteration to perform a 1d line minimization in the search direction.

    -

    If a kspace_style long-range Coulombics solve was -performed during the run (PPPM, Ewald), then additional information is -printed, e.g.

    -
    FFT time (% of Kspce) = 0.200313 (8.34477)
    -FFT Gflps 3d 1d-only = 2.31074 9.19989
    -
    -
    -

    The first line gives the time spent doing 3d FFTs (4 per timestep) and -the fraction it represents of the total KSpace time (listed above). -Each 3d FFT requires computation (3 sets of 1d FFTs) and communication -(transposes). The total flops performed is 5Nlog_2(N), where N is the -number of points in the 3d grid. The FFTs are timed with and without -the communication and a Gflop rate is computed. The 3d rate is with -communication; the 1d rate is without (just the 1d FFTs). Thus you -can estimate what fraction of your FFT time was spent in -communication, roughly 75% in the example above.

    -
    -
    -
    -

    2.9. Tips for users of previous LAMMPS versions

    -

    The current C++ began with a complete rewrite of LAMMPS 2001, which -was written in F90. Features of earlier versions of LAMMPS are listed -in Section 13. The F90 and F77 versions -(2001 and 99) are also freely distributed as open-source codes; check -the LAMMPS WWW Site for distribution information if you prefer -those versions. The 99 and 2001 versions are no longer under active -development; they do not have all the features of C++ LAMMPS.

    -

    If you are a previous user of LAMMPS 2001, these are the most -significant changes you will notice in C++ LAMMPS:

    -

    (1) The names and arguments of many input script commands have -changed. All commands are now a single word (e.g. read_data instead -of read data).

    -

    (2) All the functionality of LAMMPS 2001 is included in C++ LAMMPS, -but you may need to specify the relevant commands in different ways.

    -

    (3) The format of the data file can be streamlined for some problems. -See the read_data command for details. The data file -section “Nonbond Coeff” has been renamed to “Pair Coeff” in C++ LAMMPS.

    -

    (4) Binary restart files written by LAMMPS 2001 cannot be read by C++ -LAMMPS with a read_restart command. This is -because they were output by F90 which writes in a different binary -format than C or C++ writes or reads. Use the restart2data tool -provided with LAMMPS 2001 to convert the 2001 restart file to a text -data file. Then edit the data file as necessary before using the C++ -LAMMPS read_data command to read it in.

    -

    (5) There are numerous small numerical changes in C++ LAMMPS that mean -you will not get identical answers when comparing to a 2001 run. -However, your initial thermodynamic energy and MD trajectory should be -close if you have setup the problem for both codes the same.

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/Section_tools.html b/doc/html/Section_tools.html deleted file mode 100644 index 1fd87016c359fcc88499046051978ce8ef60e1e1..0000000000000000000000000000000000000000 --- a/doc/html/Section_tools.html +++ /dev/null @@ -1,720 +0,0 @@ - - - - - - - - - - - 9. Additional tools — LAMMPS documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    - - - -
    -
    -
    - -
    -

    9. Additional tools

    -

    LAMMPS is designed to be a computational kernel for performing -molecular dynamics computations. Additional pre- and post-processing -steps are often necessary to setup and analyze a simulation. A few -additional tools are provided with the LAMMPS distribution and are -described in this section.

    -

    Our group has also written and released a separate toolkit called -Pizza.py which provides tools for doing setup, analysis, -plotting, and visualization for LAMMPS simulations. Pizza.py is -written in Python and is available for download from the Pizza.py WWW site.

    -

    Note that many users write their own setup or analysis tools or use -other existing codes and convert their output to a LAMMPS input format -or vice versa. The tools listed here are included in the LAMMPS -distribution as examples of auxiliary tools. Some of them are not -actively supported by Sandia, as they were contributed by LAMMPS -users. If you have problems using them, we can direct you to the -authors.

    -

    The source code for each of these codes is in the tools sub-directory -of the LAMMPS distribution. There is a Makefile (which you may need -to edit for your platform) which will build several of the tools which -reside in that directory. Some of them are larger packages in their -own sub-directories with their own Makefiles.

    - -
    -
    -

    9.1. amber2lmp tool

    -

    The amber2lmp sub-directory contains two Python scripts for converting -files back-and-forth between the AMBER MD code and LAMMPS. See the -README file in amber2lmp for more information.

    -

    These tools were written by Keir Novik while he was at Queen Mary -University of London. Keir is no longer there and cannot support -these tools which are out-of-date with respect to the current LAMMPS -version (and maybe with respect to AMBER as well). Since we don’t use -these tools at Sandia, you’ll need to experiment with them and make -necessary modifications yourself.

    -
    -
    -
    -

    9.2. binary2txt tool

    -

    The file binary2txt.cpp converts one or more binary LAMMPS dump file -into ASCII text files. The syntax for running the tool is

    -
    binary2txt file1 file2 ...
    -
    -
    -

    which creates file1.txt, file2.txt, etc. This tool must be compiled -on a platform that can read the binary file created by a LAMMPS run, -since binary files are not compatible across all platforms.

    -
    -
    -
    -

    9.3. ch2lmp tool

    -

    The ch2lmp sub-directory contains tools for converting files -back-and-forth between the CHARMM MD code and LAMMPS.

    -

    They are intended to make it easy to use CHARMM as a builder and as a -post-processor for LAMMPS. Using charmm2lammps.pl, you can convert an -ensemble built in CHARMM into its LAMMPS equivalent. Using -lammps2pdb.pl you can convert LAMMPS atom dumps into pdb files.

    -

    See the README file in the ch2lmp sub-directory for more information.

    -

    These tools were created by Pieter in’t Veld (pjintve at sandia.gov) -and Paul Crozier (pscrozi at sandia.gov) at Sandia.

    -
    -
    -
    -

    9.4. chain tool

    -

    The file chain.f creates a LAMMPS data file containing bead-spring -polymer chains and/or monomer solvent atoms. It uses a text file -containing chain definition parameters as an input. The created -chains and solvent atoms can strongly overlap, so LAMMPS needs to run -the system initially with a “soft” pair potential to un-overlap it. -The syntax for running the tool is

    -
    chain < def.chain > data.file
    -
    -
    -

    See the def.chain or def.chain.ab files in the tools directory for -examples of definition files. This tool was used to create the -system for the chain benchmark.

    -
    -
    -
    -

    9.5. colvars tools

    -

    The colvars directory contains a collection of tools for postprocessing -data produced by the colvars collective variable library. -To compile the tools, edit the makefile for your system and run “make”.

    -

    Please report problems and issues the colvars library and its tools -at: https://github.com/colvars/colvars/issues

    -

    abf_integrate:

    -

    MC-based integration of multidimensional free energy gradient -Version 20110511

    -
    -Syntax: ./abf_integrate < filename > [-n < nsteps >] [-t < temp >] [-m [0|1] (metadynamics)] [-h < hill_height >] [-f < variable_hill_factor >]
    -
    -

    The LAMMPS interface to the colvars collective variable library, as -well as these tools, were created by Axel Kohlmeyer (akohlmey at -gmail.com) at ICTP, Italy.

    -
    -
    -
    -

    9.6. createatoms tool

    -

    The tools/createatoms directory contains a Fortran program called -createAtoms.f which can generate a variety of interesting crystal -structures and geometries and output the resulting list of atom -coordinates in LAMMPS or other formats.

    -

    See the included Manual.pdf for details.

    -

    The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.

    -
    -
    -
    -

    9.7. data2xmovie tool

    -

    The file data2xmovie.c converts a LAMMPS data file into a snapshot -suitable for visualizing with the xmovie tool, as if it had -been output with a dump command from LAMMPS itself. The syntax for -running the tool is

    -
    data2xmovie [options] < infile > outfile
    -
    -
    -

    See the top of the data2xmovie.c file for a discussion of the options.

    -
    -
    -
    -

    9.8. eam database tool

    -

    The tools/eam_database directory contains a Fortran program that will -generate EAM alloy setfl potential files for any combination of 16 -elements: Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti, -Zr. The files can then be used with the pair_style eam/alloy command.

    -

    The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov, -and is based on his paper:

    -

    X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, -144113 (2004).

    -
    -
    -
    -

    9.9. eam generate tool

    -

    The tools/eam_generate directory contains several one-file C programs -that convert an analytic formula into a tabulated embedded atom method (EAM) setfl potential file. The potentials they -produce are in the potentials directory, and can be used with the -pair_style eam/alloy command.

    -

    The source files and potentials were provided by Gerolf Ziegenhain -(gerolf at ziegenhain.com).

    -
    -
    -
    -

    9.10. eff tool

    -

    The tools/eff directory contains various scripts for generating -structures and post-processing output for simulations using the -electron force field (eFF).

    -

    These tools were provided by Andres Jaramillo-Botero at CalTech -(ajaramil at wag.caltech.edu).

    -
    -
    -
    -

    9.11. emacs tool

    -

    The tools/emacs directory contains a Lips add-on file for Emacs that -enables a lammps-mode for editing of input scripts when using Emacs, -with various highlighting options setup.

    -

    These tools were provided by Aidan Thompson at Sandia -(athomps at sandia.gov).

    -
    -
    -
    -

    9.12. fep tool

    -

    The tools/fep directory contains Python scripts useful for -post-processing results from performing free-energy perturbation -simulations using the USER-FEP package.

    -

    The scripts were contributed by Agilio Padua (Universite Blaise -Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr.

    -

    See README file in the tools/fep directory.

    -
    -
    -
    -

    9.13. i-pi tool

    -

    The tools/i-pi directory contains a version of the i-PI package, with -all the LAMMPS-unrelated files removed. It is provided so that it can -be used with the fix ipi command to perform -path-integral molecular dynamics (PIMD).

    -

    The i-PI package was created and is maintained by Michele Ceriotti, -michele.ceriotti at gmail.com, to interface to a variety of molecular -dynamics codes.

    -

    See the tools/i-pi/manual.pdf file for an overview of i-PI, and the -fix ipi doc page for further details on running PIMD -calculations with LAMMPS.

    -
    -
    -
    -

    9.14. ipp tool

    -

    The tools/ipp directory contains a Perl script ipp which can be used -to facilitate the creation of a complicated file (say, a lammps input -script or tools/createatoms input file) using a template file.

    -

    ipp was created and is maintained by Reese Jones (Sandia), rjones at -sandia.gov.

    -

    See two examples in the tools/ipp directory. One of them is for the -tools/createatoms tool’s input file.

    -
    -
    -
    -

    9.15. kate tool

    -

    The file in the tools/kate directory is an add-on to the Kate editor -in the KDE suite that allow syntax highlighting of LAMMPS input -scripts. See the README.txt file for details.

    -

    The file was provided by Alessandro Luigi Sellerio -(alessandro.sellerio at ieni.cnr.it).

    -
    -
    -
    -

    9.16. lmp2arc tool

    -

    The lmp2arc sub-directory contains a tool for converting LAMMPS output -files to the format for Accelrys’ Insight MD code (formerly -MSI/Biosym and its Discover MD code). See the README file for more -information.

    -

    This tool was written by John Carpenter (Cray), Michael Peachey -(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic -(jec at mayo.edu), but still fields questions about the tool.

    -

    This tool was updated for the current LAMMPS C++ version by Jeff -Greathouse at Sandia (jagreat at sandia.gov).

    -
    -
    -
    -

    9.17. lmp2cfg tool

    -

    The lmp2cfg sub-directory contains a tool for converting LAMMPS output -files into a series of *.cfg files which can be read into the -AtomEye visualizer. See -the README file for more information.

    -

    This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).

    -
    -
    -
    -

    9.18. lmp2vmd tool

    -

    The lmp2vmd sub-directory contains a README.txt file that describes -details of scripts and plugin support within the VMD package for visualizing LAMMPS -dump files.

    -

    The VMD plugins and other supporting scripts were written by Axel -Kohlmeyer (akohlmey at cmm.chem.upenn.edu) at U Penn.

    -
    -
    -
    -

    9.19. matlab tool

    -

    The matlab sub-directory contains several MATLAB scripts for -post-processing LAMMPS output. The scripts include readers for log -and dump files, a reader for EAM potential files, and a converter that -reads LAMMPS dump files and produces CFG files that can be visualized -with the AtomEye -visualizer.

    -

    See the README.pdf file for more information.

    -

    These scripts were written by Arun Subramaniyan at Purdue Univ -(asubrama at purdue.edu).

    -
    -
    -
    -

    9.20. micelle2d tool

    -

    The file micelle2d.f creates a LAMMPS data file containing short lipid -chains in a monomer solution. It uses a text file containing lipid -definition parameters as an input. The created molecules and solvent -atoms can strongly overlap, so LAMMPS needs to run the system -initially with a “soft” pair potential to un-overlap it. The syntax -for running the tool is

    -
    micelle2d < def.micelle2d > data.file
    -
    -
    -

    See the def.micelle2d file in the tools directory for an example of a -definition file. This tool was used to create the system for the -micelle example.

    -
    -
    -
    -

    9.21. moltemplate tool

    -

    The moltemplate sub-directory contains a Python-based tool for -building molecular systems based on a text-file description, and -creating LAMMPS data files that encode their molecular topology as -lists of bonds, angles, dihedrals, etc. See the README.TXT file for -more information.

    -

    This tool was written by Andrew Jewett (jewett.aij at gmail.com), who -supports it. It has its own WWW page at -http://moltemplate.org.

    -
    -
    -
    -

    9.22. msi2lmp tool

    -

    The msi2lmp sub-directory contains a tool for creating LAMMPS input -data files from Accelrys’ Insight MD code (formerly MSI/Biosym and -its Discover MD code). See the README file for more information.

    -

    This tool was written by John Carpenter (Cray), Michael Peachey -(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic -(jec at mayo.edu), but still fields questions about the tool.

    -

    This tool may be out-of-date with respect to the current LAMMPS and -Insight versions. Since we don’t use it at Sandia, you’ll need to -experiment with it yourself.

    -
    -
    -
    -

    9.23. phonon tool

    -

    The phonon sub-directory contains a post-processing tool useful for -analyzing the output of the fix phonon command in -the USER-PHONON package.

    -

    See the README file for instruction on building the tool and what -library it needs. And see the examples/USER/phonon directory -for example problems that can be post-processed with this tool.

    -

    This tool was written by Ling-Ti Kong at Shanghai Jiao Tong -University.

    -
    -
    -
    -

    9.24. polymer bonding tool

    -

    The polybond sub-directory contains a Python-based tool useful for -performing “programmable polymer bonding”. The Python file -lmpsdata.py provides a “Lmpsdata” class with various methods which can -be invoked by a user-written Python script to create data files with -complex bonding topologies.

    -

    See the Manual.pdf for details and example scripts.

    -

    This tool was written by Zachary Kraus at Georgia Tech.

    -
    -
    -
    -

    9.25. pymol_asphere tool

    -

    The pymol_asphere sub-directory contains a tool for converting a -LAMMPS dump file that contains orientation info for ellipsoidal -particles into an input file for the PyMol visualization package or its open source variant.

    -

    Specifically, the tool triangulates the ellipsoids so they can be -viewed as true ellipsoidal particles within PyMol. See the README and -examples directory within pymol_asphere for more information.

    -

    This tool was written by Mike Brown at Sandia.

    -
    -
    -
    -

    9.26. python tool

    -

    The python sub-directory contains several Python scripts -that perform common LAMMPS post-processing tasks, such as:

    -
      -
    • extract thermodynamic info from a log file as columns of numbers
    • -
    • plot two columns of thermodynamic info from a log file using GnuPlot
    • -
    • sort the snapshots in a dump file by atom ID
    • -
    • convert multiple NEB dump files into one dump file for viz
    • -
    • convert dump files into XYZ, CFG, or PDB format for viz by other packages
    • -
    -

    These are simple scripts built on Pizza.py modules. See the -README for more info on Pizza.py and how to use these scripts.

    -
    -
    -
    -

    9.27. reax tool

    -

    The reax sub-directory contains stand-alond codes that can -post-process the output of the fix reax/bonds -command from a LAMMPS simulation using ReaxFF. See -the README.txt file for more info.

    -

    These tools were written by Aidan Thompson at Sandia.

    -
    -
    -
    -

    9.28. restart2data tool

    -
    -

    Note

    -

    This tool is now obsolete and is not included in the current -LAMMPS distribution. This is becaues there is now a -write_data command, which can create a data file -from within an input script. Running LAMMPS with the “-r” -command-line switch as follows:

    -
    -

    lmp_g++ -r restartfile datafile

    -

    is the same as running a 2-line input script:

    -

    read_restart restartfile -write_data datafile

    -

    which will produce the same data file that the restart2data tool used -to create. The following information is included in case you have an -older version of LAMMPS which still includes the restart2data tool.

    -

    The file restart2data.cpp converts a binary LAMMPS restart file into -an ASCII data file. The syntax for running the tool is

    -
    restart2data restart-file data-file (input-file)
    -
    -
    -

    Input-file is optional and if specified will contain LAMMPS input -commands for the masses and force field parameters, instead of putting -those in the data-file. Only a few force field styles currently -support this option.

    -

    This tool must be compiled on a platform that can read the binary file -created by a LAMMPS run, since binary files are not compatible across -all platforms.

    -

    Note that a text data file has less precision than a binary restart -file. Hence, continuing a run from a converted data file will -typically not conform as closely to a previous run as will restarting -from a binary restart file.

    -

    If a “%” appears in the specified restart-file, the tool expects a set -of multiple files to exist. See the restart and -write_restart commands for info on how such sets -of files are written by LAMMPS, and how the files are named.

    -
    -
    -
    -

    9.29. vim tool

    -

    The files in the tools/vim directory are add-ons to the VIM editor -that allow easier editing of LAMMPS input scripts. See the README.txt -file for details.

    -

    These files were provided by Gerolf Ziegenhain (gerolf at -ziegenhain.com)

    -
    -
    -
    -

    9.30. xmgrace tool

    -

    The files in the tools/xmgrace directory can be used to plot the -thermodynamic data in LAMMPS log files via the xmgrace plotting -package. There are several tools in the directory that can be used in -post-processing mode. The lammpsplot.cpp file can be compiled and -used to create plots from the current state of a running LAMMPS -simulation.

    -

    See the README file for details.

    -

    These files were provided by Vikas Varshney (vv0210 at gmail.com)

    -
    -
    -
    -

    9.31. xmovie tool

    -

    The xmovie tool is an X-based visualization package that can read -LAMMPS dump files and animate them. It is in its own sub-directory -with the tools directory. You may need to modify its Makefile so that -it can find the appropriate X libraries to link against.

    -

    The syntax for running xmovie is

    -
    xmovie [options] dump.file1 dump.file2 ...
    -
    -
    -

    If you just type “xmovie” you will see a list of options. Note that -by default, LAMMPS dump files are in scaled coordinates, so you -typically need to use the -scale option with xmovie. When xmovie runs -it opens a visualization window and a control window. The control -options are straightforward to use.

    -

    Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he -spent a summer at Sandia. It displays 2d projections of a 3d domain. -While simple in design, it is an amazingly fast program that can -render large numbers of atoms very quickly. It’s a useful tool for -debugging LAMMPS input and output and making sure your simulation is -doing what you think it should. The animations on the Examples page -of the LAMMPS WWW site were created with xmovie.

    -

    I’ve lost contact with Mike, so I hope he’s comfortable with us -distributing his great tool!

    -
    -
    - - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/USER/atc/man_add_molecule.html b/doc/html/USER/atc/man_add_molecule.html deleted file mode 100644 index 99270c7276dc9fbc26a1b2bb823dde544d0913cd..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_add_molecule.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - -ATC: fix_modify AtC add_molecule - - - - - - -
    - - -

    fix_modify AtC add_molecule

    -syntax

    -

    fix_modify_AtC add_molecule <small|large> <TAG> <GROUP_NAME>
    -

    - -

    -examples

    -

    group WATERGROUP type 1 2
    - fix_modify AtC add_molecule small water WATERGROUP
    -

    -

    -description

    -

    Associates a tag with all molecules corresponding to a specified group.
    -

    -

    -restrictions

    -

    -related

    -

    -default

    -

    No defaults for this command.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_add_species.html b/doc/html/USER/atc/man_add_species.html deleted file mode 100644 index 95192034d94d4ab342a0a0a061fcba52bc5e59bf..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_add_species.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - -ATC: fix_modify AtC add_species - - - - - - -
    - - -

    fix_modify AtC add_species

    -syntax

    -

    fix_modify_AtC add_species <TAG> <group|type> <ID>
    -

    - -

    -examples

    -

    fix_modify AtC add_species gold type 1
    - group GOLDGROUP type 1
    - fix_modify AtC add_species gold group GOLDGROUP

    -

    -description

    -

    Associates a tag with all atoms of a specified type or within a specified group.
    -

    -

    -restrictions

    -

    -related

    -

    -default

    -

    No defaults for this command.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_atom_element_map.html b/doc/html/USER/atc/man_atom_element_map.html deleted file mode 100644 index 3073c0f9209f52a9cfe50db2f602ae0067c3ec98..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_atom_element_map.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC atom_element_map - - - - - - -
    - - -

    fix_modify AtC atom_element_map

    -syntax

    -

    fix_modify AtC atom_element_map <eulerian|lagrangian> <frequency>
    -

    - -

    -examples

    -

    fix_modify atc atom_element_map eulerian 100

    -

    -description

    -

    Changes frame of reference from eulerian to lagrangian and sets the frequency for which the map from atoms to elements is reformed and all the attendant data is recalculated.

    -

    -restrictions

    -

    Cannot change map type after initialization.

    -

    -related

    -

    -default

    -

    lagrangian

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_atom_weight.html b/doc/html/USER/atc/man_atom_weight.html deleted file mode 100644 index 18b0dcae6ed1a24446d77f7941d28e4cbe9db733..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_atom_weight.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - -ATC: fix_modify AtC atom_weight - - - - - - -
    - - -

    fix_modify AtC atom_weight

    -syntax

    -

    fix_modify AtC atom_weight <method> <arguments>

    - -

    -examples

    -

    fix_modify atc atom_weight constant myatoms 11.8
    - fix_modify atc atom_weight lattice
    - fix_modify atc atom_weight read-in atm_wt_file.txt
    -

    -

    -description

    -

    Command for assigning the value of atomic weights used for atomic integration in atom-continuum coupled simulations.

    -

    -restrictions

    -

    Use of lattice option requires a lattice type and parameter is already specified.

    -

    -related

    -

    -default

    -

    lattice

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_atomic_charge.html b/doc/html/USER/atc/man_atomic_charge.html deleted file mode 100644 index 718f8a433f1c4fb9164e5d910fc12fe11eb52c6d..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_atomic_charge.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC atomic_charge - - - - - - -
    - - -

    fix_modify AtC atomic_charge

    -syntax

    -

    fix_modify AtC <include | omit> atomic_charge

    - -

    -examples

    -

    fix_modify atc compute include atomic_charge

    -

    -description

    -

    Determines whether AtC tracks the total charge as a finite element field

    -

    -restrictions

    -

    Required for: electrostatics

    -

    -related

    -

    -default

    -

    if the atom charge is defined, default is on, otherwise default is off

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_boundary.html b/doc/html/USER/atc/man_boundary.html deleted file mode 100644 index 3e877355f15509602a2275c82351349043e8033b..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_boundary.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -ATC: fix_modify AtC boundary - - - - - - -
    - - -

    fix_modify AtC boundary

    -syntax

    -

    fix_modify AtC boundary type <atom-type-id>

    - -

    -examples

    -

    fix_modify AtC boundary type ghost_atoms

    -

    -description

    -

    Command to define the atoms that represent the ficticious boundary internal to the FE mesh. For fully overlapped MD/FE domains with periodic boundary conditions no boundary atoms should be defined.

    -

    -restrictions

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_boundary_dynamics.html b/doc/html/USER/atc/man_boundary_dynamics.html deleted file mode 100644 index 87696b8b43fc457da47d4f501d4f96d48a11a000..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_boundary_dynamics.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - -ATC: fix_modify AtC boundary_dynamics - - - - - - -
    - - -

    fix_modify AtC boundary_dynamics

    -syntax

    -

    fix_modify AtC boundary_dynamics < on | damped_harmonic | prescribed | coupled | none > [args]
    -

    -

    -description

    -

    Sets different schemes for controlling boundary atoms. On will integrate the boundary atoms using the velocity-verlet algorithm. Damped harmonic uses a mass/spring/dashpot for the boundary atoms with added arguments of the damping and spring constants followed by the ratio of the boundary type mass to the desired mass. Prescribed forces the boundary atoms to follow the finite element displacement. Coupled does the same.

    -

    -restrictions

    -

    Boundary atoms must be specified. When using swaps between internal and boundary atoms, the initial configuration must have already correctly partitioned the two.

    -

    -related

    -

    -default

    -

    prescribed on

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_boundary_faceset.html b/doc/html/USER/atc/man_boundary_faceset.html deleted file mode 100644 index 2e96330d6cf8a18f8c359c9c2f36a4dc063d10cc..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_boundary_faceset.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - -ATC: fix_modify AtC boundary_faceset - - - - - - -
    - - -

    fix_modify AtC boundary_faceset

    -syntax

    -

    fix_modify AtC boundary_faceset <is | add> [args]

    -

    -examples

    -

    fix_modify AtC boundary_faceset is obndy

    -

    -description

    -

    This command species the faceset name when using a faceset to compute the MD/FE boundary fluxes. The faceset must already exist.

    -

    -restrictions

    -

    This is only valid when fe_md_boundary is set to faceset.

    -

    -related

    -

    -default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_boundary_integral.html b/doc/html/USER/atc/man_boundary_integral.html deleted file mode 100644 index 3e78f12963f3c44e01c9ab71bcbff511fc02a3e8..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_boundary_integral.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -ATC: fix_modify AtC output boundary_integral - - - - - - -
    - - -

    fix_modify AtC output boundary_integral

    -syntax

    -

    fix_modify AtC output boundary_integral [field] faceset [name]

    - -

    -examples

    -

    fix_modify AtC output boundary_integral stress faceset loop1
    -

    -

    -description

    -

    Calculates a surface integral of the given field dotted with the outward normal of the faces and puts output in the "GLOBALS" file

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    -

    -related

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_consistent_fe_initialization.html b/doc/html/USER/atc/man_consistent_fe_initialization.html deleted file mode 100644 index 2f3bf4a6cf8a7d9d0f65a3aa3805b6109af12959..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_consistent_fe_initialization.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC consistent_fe_initialization - - - - - - -
    - - -

    fix_modify AtC consistent_fe_initialization

    -syntax

    -

    fix_modify AtC consistent_fe_initialization <on | off>

    - -

    -examples

    -

    fix_modify atc consistent_fe_initialization on

    -

    -description

    -

    Determines whether AtC initializes FE intrinsic fields (e.g., temperature) to match the projected MD values. This is particularly useful for fully overlapping simulations.

    -

    -restrictions

    -

    Can be used with: thermal, two_temperature. Cannot be used with time filtering on. Does not include boundary nodes.

    -

    -related

    -

    -default

    -

    Default is off

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_contour_integral.html b/doc/html/USER/atc/man_contour_integral.html deleted file mode 100644 index c321605e884f97b6c3e65c2381bab5c0bbe9ce2a..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_contour_integral.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - -ATC: fix_modify AtC output contour_integral - - - - - - -
    - - -

    fix_modify AtC output contour_integral

    -syntax

    -

    fix_modify AtC output contour_integral [field] faceset [name] <axis [x | y | z ]>

    - -

    -examples

    -

    fix_modify AtC output contour_integral stress faceset loop1
    -

    -

    -description

    -

    Calculates a surface integral of the given field dotted with the outward normal of the faces and puts output in the "GLOBALS" file

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    -

    -related

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_control.html b/doc/html/USER/atc/man_control.html deleted file mode 100644 index af0236f30ef24106a57f0c6f54a4566aa9ffcbea..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_control.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - -ATC: fix_modify AtC control - - - - - - -
    - - -

    fix_modify AtC control

    -syntax

    -

    fix_modify AtC control <physics_type> <solution_parameter>

    -


    -

    - -

    fix_modify AtC transfer <physics_type> control max_iterations <max_iterations>
    -

    - -

    fix_modify AtC transfer <physics_type> control tolerance <tolerance>
    -

    - -

    -examples

    -

    fix_modify AtC control thermal max_iterations 10
    - fix_modify AtC control momentum tolerance 1.e-5
    -

    -

    -description

    -

    Sets the numerical parameters for the matrix solvers used in the specified control algorithm. Many solution approaches require iterative solvers, and these methods enable users to provide the maximum number of iterations and the relative tolerance.

    -

    -restrictions

    -

    only for be used with specific controllers : thermal, momentum
    - They are ignored if a lumped solution is requested

    -

    -related

    -

    -default

    -

    max_iterations is the number of rows in the matrix
    - tolerance is 1.e-10

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_control_momentum.html b/doc/html/USER/atc/man_control_momentum.html deleted file mode 100644 index 805c12567a6054f50c454fcfd8410aa7614f0d18..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_control_momentum.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - -ATC: fix_modify AtC control momentum - - - - - - -
    - - -

    fix_modify AtC control momentum

    -syntax

    -

    fix_modify AtC control momentum none
    -

    -

    fix_modify AtC control momentum rescale <frequency>
    -

    - -

    fix_modify AtC control momentum glc_displacement
    -

    -

    fix_modify AtC control momentum glc_velocity
    -

    -

    fix_modify AtC control momentum hoover
    -

    -

    fix_modify AtC control momentum flux [faceset face_set_id, interpolate]

    - -

    -examples

    -

    fix_modify AtC control momentum glc_velocity
    - fix_modify AtC control momentum flux faceset bndy_faces
    -

    -

    -description

    -

    -restrictions

    -

    only to be used with specific transfers : elastic
    - rescale not valid with time filtering activated

    -

    -related

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_control_thermal.html b/doc/html/USER/atc/man_control_thermal.html deleted file mode 100644 index 301297f306b90c4c7e433820eb4b74bfff6e24d0..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_control_thermal.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - -ATC: fix_modify AtC control thermal - - - - - - -
    - - -

    fix_modify AtC control thermal

    -syntax

    -

    fix_modify AtC control thermal <control_type> <optional_args>

    - -

    fix_modify AtC control thermal rescale <frequency>
    -

    - -

    fix_modify AtC control thermal hoover
    -

    -

    fix_modify AtC control thermal flux <boundary_integration_type(optional)> <face_set_id(optional)>
    -

    - -

    -examples

    -

    fix_modify AtC control thermal none
    - fix_modify AtC control thermal rescale 10
    - fix_modify AtC control thermal hoover
    - fix_modify AtC control thermal flux
    - fix_modify AtC control thermal flux faceset bndy_faces
    -

    -

    -description

    -

    Sets the energy exchange mechansim from the finite elements to the atoms, managed through a control algorithm. Rescale computes a scale factor for each atom to match the finite element temperature. Hoover is a Gaussian least-constraint isokinetic thermostat enforces that the nodal restricted atomic temperature matches the finite element temperature. Flux is a similar mode, but rather adds energy to the atoms based on conservation of energy. Hoover and flux allows the prescription of sources or fixed temperatures on the atoms.

    -

    -restrictions

    -

    only for be used with specific transfers : thermal (rescale, hoover, flux), two_temperature (flux)
    - rescale not valid with time filtering activated

    -

    -related

    -

    -default

    -

    none
    - rescale frequency is 1
    - flux boundary_integration_type is interpolate

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_control_thermal_correction_max_iterations.html b/doc/html/USER/atc/man_control_thermal_correction_max_iterations.html deleted file mode 100644 index 8a511019f9dd0643446fd25a4b746147cf337d69..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_control_thermal_correction_max_iterations.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -ATC: fix_modify AtC control thermal correction_max_iterations - - - - - - -
    - - -

    fix_modify AtC control thermal correction_max_iterations

    -syntax

    -

    fix_modify AtC control thermal correction_max_iterations <max_iterations>

    - -

    -examples

    -

    fix_modify AtC control thermal correction_max_iterations 10
    -

    -

    -description

    -

    Sets the maximum number of iterations to compute the 2nd order in time correction term for lambda with the fractional step method. The method uses the same tolerance as the controller's matrix solver.

    -

    -restrictions

    -

    only for use with thermal physics using the fractional step method.

    -

    -related

    -

    -default

    -

    correction_max_iterations is 20

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_decomposition.html b/doc/html/USER/atc/man_decomposition.html deleted file mode 100644 index 15725073d35a6a2d1a14c8f8f761e77356fef70e..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_decomposition.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - -ATC: fix_modify AtC decomposition - - - - - - -
    - - -

    fix_modify AtC decomposition

    -syntax

    -

    fix_modify AtC decomposition <type>

    - -

    -examples

    -

    fix_modify atc decomposition distributed_memory
    -

    -

    -description

    -

    Command for assigning the distribution of work and memory for parallel runs.

    -

    -restrictions

    -

    replicated_memory is appropriate for simulations were the number of nodes << number of atoms

    -

    -related

    -

    -default

    -

    replicated_memory

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_electron_integration.html b/doc/html/USER/atc/man_electron_integration.html deleted file mode 100644 index b14c14d86d5dfbf4ef71a635335f0717af98fa4a..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_electron_integration.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - -ATC: fix_modify AtC extrinsic electron_integration - - - - - - -
    - - -

    fix_modify AtC extrinsic electron_integration

    -syntax

    -

    fix_modify AtC extrinsic electron_integration <integration_type> <num_subcyle_steps(optional)>
    -

    - -

    -examples

    -

    fix_modify AtC extrinsic electron_integration implicit
    - fix_modify AtC extrinsic electron_integration explicit 100
    -

    -

    -description

    -

    Switches between integration scheme for the electron temperature. The number of subcyling steps used to integrate the electron temperature 1 LAMMPS timestep can be manually adjusted to capture fast electron dynamics.

    -

    -restrictions

    -

    For use only with two_temperature type of AtC fix ( see fix atc command )
    -

    -

    -default

    -

    implicit
    - subcycle_steps = 1

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_equilibrium_start.html b/doc/html/USER/atc/man_equilibrium_start.html deleted file mode 100644 index 3723cf98bf36d1bca05d04c3735f6e9a3209a2fd..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_equilibrium_start.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC equilibrium_start - - - - - - -
    - - -

    fix_modify AtC equilibrium_start

    -syntax

    -

    fix_modify AtC equilibrium_start <on|off>

    -

    -examples

    -

    fix_modify atc equilibrium_start on
    -

    -

    -description

    -

    Starts filtered calculations assuming they start in equilibrium, i.e. perfect finite element force balance.

    -

    -restrictions

    -

    only needed before filtering is begun

    -

    -related

    -

    see fix_modify AtC filter

    -

    -default

    -

    on

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_extrinsic_exchange.html b/doc/html/USER/atc/man_extrinsic_exchange.html deleted file mode 100644 index 8f6533ad646beca2b91ad6415f23b6d0c187933a..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_extrinsic_exchange.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC extrinsic exchange - - - - - - -
    - - -

    fix_modify AtC extrinsic exchange

    -syntax

    -

    fix_modify AtC extrinsic exchange <on|off>

    -

    -examples

    -

    fix_modify AtC extrinsic exchange on
    -

    -

    -description

    -

    Switches energy exchange between the MD system and electron system on and off

    -

    -restrictions

    -

    Only valid for use with two_temperature type of AtC fix.

    -

    -related

    -

    see fix atc command

    -

    -default

    -

    on

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_fe_md_boundary.html b/doc/html/USER/atc/man_fe_md_boundary.html deleted file mode 100644 index 06bca2b337f7ca62483bb861ef9d49e7f53f756b..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_fe_md_boundary.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC fe_md_boundary - - - - - - -
    - - -

    fix_modify AtC fe_md_boundary

    -syntax

    -

    fix_modify AtC fe_md_boundary <faceset | interpolate | no_boundary> [args]

    -

    -examples

    -

    fix_modify atc fe_md_boundary interpolate
    -

    -

    -description

    -

    Specifies different methods for computing fluxes between between the MD and FE integration regions. Faceset defines a faceset separating the MD and FE regions and uses finite element face quadrature to compute the flux. Interpolate uses a reconstruction scheme to approximate the flux, which is more robust but less accurate if the MD/FE boundary does correspond to a faceset. No boundary results in no fluxes between the systems being computed.

    -

    -restrictions

    -

    If faceset is used, all the AtC non-boundary atoms must lie within and completely fill the domain enclosed by the faceset.

    -

    -related

    -

    see for how to specify the faceset name.

    -

    -default

    -

    Interpolate.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_fem_mesh.html b/doc/html/USER/atc/man_fem_mesh.html deleted file mode 100644 index 2abd84d6cef4b3040e13ba674c4e5e6e3d0f1cc0..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_fem_mesh.html +++ /dev/null @@ -1,25 +0,0 @@ - - -ATC: fix_modify AtC fem create mesh - - - -

    fix_modify AtC fem create mesh

    -syntax

    -fix_modify AtC fem create mesh <nx> <ny> <nz> <region-id> <f|p> <f|p> <f|p> -

    -examples

    - fix_modify AtC fem create mesh 10 1 1 feRegion p p p

    -description

    -Creates a uniform mesh in a rectangular region

    -restrictions

    -creates only uniform rectangular grids in a rectangular region

    -related

    -

    -default

    -none
    Generated on Mon Aug 17 09:35:16 2009 for ATC by  - -doxygen 1.3.9.1
    - - diff --git a/doc/html/USER/atc/man_filter_scale.html b/doc/html/USER/atc/man_filter_scale.html deleted file mode 100644 index 975f87e9499be3d210da661bff02dfb556141eae..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_filter_scale.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - -ATC: fix_modify AtC filter scale - - - - - - -
    - - -

    fix_modify AtC filter scale

    -syntax

    -

    fix_modify AtC filter scale <scale>
    -

    - -

    -examples

    -

    fix_modify AtC filter scale 10.0
    -

    -

    -description

    -

    Filters the MD dynamics to construct a more appropriate continuous field. Equilibrating first filters the time derivatives without changing the dynamics to provide a better initial condition to the filtered dynamics

    -

    -restrictions

    -

    only for be used with specific transfers: thermal, two_temperature

    -

    -related

    -

    fix_modify AtC filter fix_modify AtC filter type

    -

    -default

    -

    0.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_filter_type.html b/doc/html/USER/atc/man_filter_type.html deleted file mode 100644 index 8d9dbd3d12d0ede718c312b2136e880a7d4e2f47..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_filter_type.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC filter type - - - - - - -
    - - -

    fix_modify AtC filter type

    -syntax

    -

    fix_modify AtC filter type <exponential | step | no_filter>
    -

    -

    -examples

    -

    fix_modify AtC filter type exponential
    -

    -

    -description

    -

    Specifies the type of time filter used.

    -

    -restrictions

    -

    only for be used with specific transfers: thermal, two_temperature

    -

    -related

    -

    fix_modify AtC filter fix_modify AtC filter scale

    -

    -default

    -

    No default.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_fix_atc.html b/doc/html/USER/atc/man_fix_atc.html deleted file mode 100644 index e710c28ed268d58d037396681f25cd87593d978f..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_fix_atc.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - -ATC: fix atc command - - - - - - -
    - - -

    fix atc command

    -syntax

    -

    fix <fixID> <group> atc <type> <parameter_file>

    - -

    -examples

    -

    fix AtC internal atc thermal Ar_thermal.dat
    - fix AtC internal atc two_temperature Ar_ttm.mat
    - fix AtC internal atc hardy
    - fix AtC internal atc field
    -

    -

    -description

    -

    This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the /post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.

    -

    The following coupling example is typical, but non-exhaustive:
    -

    -

    # ... commands to create and initialize the MD system
    -

    -

    # initial fix to designate coupling type and group to apply it to
    - # tag group physics material_file
    - fix AtC internal atc thermal Ar_thermal.mat
    -
    - # create a uniform 12 x 2 x 2 mesh that covers region contain the group
    - # nx ny nz region periodicity
    - fix_modify AtC mesh create 12 2 2 mdRegion f p p
    -
    - # specify the control method for the type of coupling
    - # physics control_type
    - fix_modify AtC thermal control flux
    -
    - # specify the initial values for the empirical field "temperature"
    - # field node_group value
    - fix_modify AtC initial temperature all 30.
    -
    - # create an output stream for nodal fields
    - # filename output_frequency
    - fix_modify AtC output atc_fe_output 100
    -
    -

    -

    run 1000
    -

    -

    likewise for this post-processing example:
    -

    -

    # ... commands to create and initialize the MD system
    -

    -

    # initial fix to designate post-processing and the group to apply it to
    - # no material file is allowed nor required
    - fix AtC internal atc hardy
    -
    - # for hardy fix, specific kernel function (function type and range) to # be used as a localization function
    - fix AtC kernel quartic_sphere 10.0
    -
    - # create a uniform 1 x 1 x 1 mesh that covers region contain the group
    - # with periodicity this effectively creats a system average
    - fix_modify AtC mesh create 1 1 1 box p p p
    -
    - # change from default lagrangian map to eulerian
    - # refreshed every 100 steps
    - fix_modify AtC atom_element_map eulerian 100
    -
    - # start with no field defined
    - # add mass density, potential energy density, stress and temperature
    - fix_modify AtC fields add density energy stress temperature
    -
    - # create an output stream for nodal fields
    - # filename output_frequency
    - fix_modify AtC output nvtFE 100 text
    -

    -

    run 1000
    -

    -

    the mesh's linear interpolation functions can be used as the localization function
    - by using the field option:
    -

    -

    fix AtC internal atc field
    -
    - fix_modify AtC mesh create 1 1 1 box p p p
    -
    - ...
    -
    -

    -

    Note coupling and post-processing can be combined in the same simulations using separate fixes.
    - For detailed exposition of the theory and algorithms please see:
    -

    - -

    Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes The finite element method , Dover 2003, for the basics of FE simulation.

    -

    -restrictions

    -

    Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc.

    -

    Currently,

    - -

    -related

    -

    fix_modify commands for setup:
    -

    - -

    fix_modify commands for boundary and initial conditions:
    -

    - -

    fix_modify commands for control and filtering:
    -

    - -

    fix_modify commands for output:
    -

    - -

    fix_modify commands for post-processing:
    -

    - -

    miscellaneous fix_modify commands:
    -

    - -

    Note: a set of example input files with the attendant material files are included with this package

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_fix_flux.html b/doc/html/USER/atc/man_fix_flux.html deleted file mode 100644 index d8369a878533909d87a5695b7b8bc17186c4d537..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_fix_flux.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -ATC: fix_modify AtC fix_flux - - - - - - -
    - - -

    fix_modify AtC fix_flux

    -syntax

    -

    fix_modify AtC fix_flux <field> <face_set> <value | function>

    - -

    -examples

    -

    fix_modify atc fix_flux temperature faceSet 10.0
    -

    -

    -description

    -

    Command for fixing normal fluxes e.g. heat_flux. This command only prescribes the normal component of the physical flux, e.g. heat (energy) flux. The units are in AtC units, i.e. derived from the LAMMPS length, time, and mass scales.

    -

    -restrictions

    -

    Only normal fluxes (Neumann data) can be prescribed.

    -

    -related

    -

    see fix_modify AtC unfix_flux

    -

    -default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_fix_nodes.html b/doc/html/USER/atc/man_fix_nodes.html deleted file mode 100644 index cf5c93590a2f561755953ffc56108911d1e13e4c..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_fix_nodes.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - -ATC: fix_modify AtC fix - - - - - - -
    - - -

    fix_modify AtC fix

    -syntax

    -

    fix_modify AtC fix <field> <nodeset> <constant | function>

    - -

    -examples

    -

    fix_modify AtC fix temperature groupNAME 10.
    - fix_modify AtC fix temperature groupNAME 0 0 0 10.0 0 0 1.0
    -

    -

    -description

    -

    Creates a constraint on the values of the specified field at specified nodes.

    -

    -restrictions

    -

    keyword 'all' reserved in nodeset name

    -

    -related

    -

    see fix_modify AtC unfix

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_hardy_computes.html b/doc/html/USER/atc/man_hardy_computes.html deleted file mode 100644 index c16550742b89e24e77917fbbe5322276201d3fb0..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_hardy_computes.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - -ATC: fix_modify AtC computes - - - - - - -
    - - -

    fix_modify AtC computes

    -syntax

    -

    fix_modify AtC computes <add | delete> [per-atom compute id] <volume | number>
    -

    - -

    -examples

    -

    compute virial all stress/atom
    - fix_modify AtC computes add virial volume
    - fix_modify AtC computes delete virial
    -
    - compute centrosymmetry all centro/atom
    - fix_modify AtC computes add centrosymmetry number
    -

    -

    -description

    -

    Calculates continuum fields corresponding to specified per-atom computes created by LAMMPS
    -

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )
    - Per-atom compute must be specified before corresponding continuum field can be requested
    -

    -

    -related

    -

    See manual page for compute

    -

    -default

    -

    No defaults exist for this command

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_hardy_fields.html b/doc/html/USER/atc/man_hardy_fields.html deleted file mode 100644 index 1f55fd5e3702cb8cbaa4f3f59e4ab7e2ebf3657f..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_hardy_fields.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - -ATC: fix_modify AtC fields - - - - - - -
    - - -

    fix_modify AtC fields

    -syntax

    -

    fix_modify AtC fields <all | none>
    - fix_modify AtC fields <add | delete> <list_of_fields>
    -

    - -

    -examples

    -

    fix_modify AtC fields add velocity temperature

    -

    -description

    -

    Allows modification of the fields calculated and output by the transfer class. The commands are cumulative, e.g.
    - fix_modify AtC fields none
    - followed by
    - fix_modify AtC fields add velocity temperature
    - will only output the velocity and temperature fields.

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix, see fix atc command. Currently, the stress and heat flux formulas are only correct for central force potentials, e.g. Lennard-Jones and EAM but not Stillinger-Weber.

    -

    -related

    -

    See fix_modify AtC gradients , fix_modify AtC rates and fix_modify AtC computes

    -

    -default

    -

    By default, no fields are output

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_hardy_gradients.html b/doc/html/USER/atc/man_hardy_gradients.html deleted file mode 100644 index 708fecbca1dedd4470e5b6e6e15090b37aec4a48..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_hardy_gradients.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - -ATC: fix_modify AtC gradients - - - - - - -
    - - -

    fix_modify AtC gradients

    -syntax

    -

    fix_modify AtC gradients <add | delete> <list_of_fields>
    -

    - -

    -examples

    -

    fix_modify AtC gradients add temperature velocity stress
    - fix_modify AtC gradients delete velocity
    -

    -

    -description

    -

    Requests calculation and ouput of gradients of the fields from the transfer class. These gradients will be with regard to spatial or material coordinate for eulerian or lagrangian analysis, respectively, as specified by atom_element_map (see fix_modify AtC atom_element_map )

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    -

    -related

    -

    -default

    -

    No gradients are calculated by default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_hardy_kernel.html b/doc/html/USER/atc/man_hardy_kernel.html deleted file mode 100644 index 3d81b367dd0e59c39be54580b80069c147d84cf6..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_hardy_kernel.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - -ATC: fix_modify AtC kernel - - - - - - -
    - - -

    fix_modify AtC kernel

    -syntax

    -

    fix_modify AtC kernel <type> <parameters>

    - -

    -examples

    -

    fix_modify AtC kernel cell 1.0 1.0 1.0
    - fix_modify AtC kernel quartic_sphere 10.0

    -

    -description

    -

    -restrictions

    -

    Must be used with the hardy AtC fix
    - For bar kernel types, half-width oriented along x-direction
    - For cylinder kernel types, cylindrical axis is assumed to be in z-direction
    - ( see fix atc command )

    -

    -related

    -

    -default

    -

    No default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_hardy_on_the_fly.html b/doc/html/USER/atc/man_hardy_on_the_fly.html deleted file mode 100644 index d140cf6840e290a81e312aab76129992cf5ca5ed..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_hardy_on_the_fly.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - -ATC: fix_modify AtC on_the_fly - - - - - - -
    - - -

    fix_modify AtC on_the_fly

    -syntax

    -

    fix_modify AtC on_the_fly <bond | kernel> <optional on | off>
    - - bond | kernel (keyword) = specifies on-the-fly calculation of bond or kernel matrix elements
    -

    - -

    -examples

    -

    fix_modify AtC on_the_fly bond on
    - fix_modify AtC on_the_fly kernel
    - fix_modify AtC on_the_fly kernel off
    -

    -

    -description

    -

    Overrides normal mode of pre-calculating and storing bond pair-to-node a nd kernel atom-to-node matrices. If activated, will calculate elements of t hese matrices during repeated calls of field computations (i.e. "on-the-fly") and not store them for future use.
    - on flag is optional - if omitted, on_the_fly will be activated for the s pecified matrix. Can be deactivated using off flag.
    -

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    -

    -related

    -

    -default

    -

    By default, on-the-fly calculation is not active (i.e. off). However, code does a memory allocation check to determine if it can store all needed bond and kernel matrix ele ments. If this allocation fails, on-the-fly is activated.
    -

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_hardy_rates.html b/doc/html/USER/atc/man_hardy_rates.html deleted file mode 100644 index ab0315cb65b179cf01b60309711d2d9c2ba87942..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_hardy_rates.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - -ATC: fix_modify AtC rates - - - - - - -
    - - -

    fix_modify AtC rates

    -syntax

    -

    fix_modify AtC rates <add | delete> <list_of_fields>
    -

    - -

    -examples

    -

    fix_modify AtC rates add temperature velocity stress
    - fix_modify AtC rates delete stress
    -

    -

    -description

    -

    Requests calculation and ouput of rates (time derivatives) of the fields from the transfer class. For eulerian analysis (see fix_modify AtC atom_element_map ), these rates are the partial time derivatives of the nodal fields, not the full (material) time derivatives.
    -

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    -

    -related

    -

    -default

    -

    No rates are calculated by default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_initial.html b/doc/html/USER/atc/man_initial.html deleted file mode 100644 index c0a0be38523ed357b7806b006574cd5a3f08e5c0..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_initial.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC initial - - - - - - -
    - - -

    fix_modify AtC initial

    -syntax

    -

    fix_modify AtC initial <field> <nodeset> <constant | function>

    - -

    -examples

    -

    fix_modify atc initial temperature groupNAME 10.

    -

    -description

    -

    Sets the initial values for the specified field at the specified nodes.

    -

    -restrictions

    -

    keyword 'all' reserved in nodeset name

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_internal_atom_integrate.html b/doc/html/USER/atc/man_internal_atom_integrate.html deleted file mode 100644 index b15bf71aadd4950ab67ed17cc72e6801bf6992f4..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_internal_atom_integrate.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - -ATC: fix_modify AtC internal_atom_integrate - - - - - - -
    - - -

    fix_modify AtC internal_atom_integrate

    -syntax

    -

    fix_modify AtC internal_atom_integrate <on | off> fix_modify AtC internal_atom_integrate on

    -

    -description

    -

    Has AtC perform time integration for the atoms in the group on which it operates. This does not include boundary atoms.

    -

    -default

    -

    on for coupling methods, off for post-processors off

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_internal_element_set.html b/doc/html/USER/atc/man_internal_element_set.html deleted file mode 100644 index 31bee57860ef0a2354101c7e0940eb894563e6ab..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_internal_element_set.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC internal_element_set - - - - - - -
    - - -

    fix_modify AtC internal_element_set

    -syntax

    -

    fix_modify AtC internal_element_set <element-set-name>

    - -

    -examples

    -

    fix_modify AtC internal_element_set myElementSet fix_modify AtC internal_element_set off

    -

    -description

    -

    Enables AtC to base the region for internal atoms to be an element set. If no ghost atoms are used, all the AtC atoms must be constrained to remain in this element set by the user, e.g., with walls. If boundary atoms are used in conjunction with Eulerian atom maps AtC will partition all atoms of a boundary or internal type to be of type internal if they are in the internal region or to be of type boundary otherwise.

    -

    -restrictions

    -

    If boundary atoms are used in conjunction with Eulerian atom maps, the Eulerian reset frequency must be an integer multiple of the Lammps reneighbor frequency

    -

    -related

    -

    see atom_element_map_type and boundary

    -

    -default

    -

    off

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_internal_quadrature.html b/doc/html/USER/atc/man_internal_quadrature.html deleted file mode 100644 index 172187c2982093bd0109f01ef7d1922af38403f2..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_internal_quadrature.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC internal_quadrature - - - - - - -
    - - -

    fix_modify AtC internal_quadrature

    -syntax

    -

    fix_modify atc internal_quadrature <on | off> [region]

    -

    -examples

    -

    fix_modify atc internal_quadrature off

    -

    -description

    -

    Command to use or not use atomic quadrature on internal elements fully filled with atoms. By turning the internal quadrature off these elements do not contribute to the governing PDE and the fields at the internal nodes follow the weighted averages of the atomic data.

    -

    -optional

    -

    Optional region tag specifies which finite element nodes will be treated as being within the MD region. This option is only valid with internal_quadrature off.

    -

    -restrictions

    -

    -related

    -

    -default

    -

    on

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_kernel_function.html b/doc/html/USER/atc/man_kernel_function.html deleted file mode 100644 index 08ec827decfea21768afad0970b0049d3e74c071..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_kernel_function.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - -ATC: fix_modify AtC kernel - - - - - - -
    - - -

    fix_modify AtC kernel

    -syntax

    -

    fix_modify AtC kernel <type> <parameters>

    - -

    -examples

    -

    fix_modify AtC kernel cell 1.0 1.0 1.0 fix_modify AtC kernel quartic_sphere 10.0

    -

    -description

    -

    -restrictions

    -

    Must be used with the hardy AtC fix
    - For bar kernel types, half-width oriented along x-direction
    - For cylinder kernel types, cylindrical axis is assumed to be in z-direction
    - ( see fix atc command )

    -

    -related

    -

    -default

    -

    No default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_localized_lambda.html b/doc/html/USER/atc/man_localized_lambda.html deleted file mode 100644 index 5dadb9d7304aaa0b764905fccdae458483b170e9..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_localized_lambda.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -ATC: fix_modify AtC control localized_lambda - - - - - - -
    - - -

    fix_modify AtC control localized_lambda

    -syntax

    -

    fix_modify AtC control localized_lambda <on|off>

    -

    -examples

    -

    fix_modify atc control localized_lambda on
    -

    -

    -description

    -

    Turns on localization algorithms for control algorithms to restrict the influence of FE coupling or boundary conditions to a region near the boundary of the MD region. Control algorithms will not affect atoms in elements not possessing faces on the boundary of the region. Flux-based control is localized via row-sum lumping while quantity control is done by solving a truncated matrix equation.

    -

    -restrictions

    -

    -related

    -

    -default

    -

    Default is off.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_lumped_lambda_solve.html b/doc/html/USER/atc/man_lumped_lambda_solve.html deleted file mode 100644 index bb3f8cfde8d74941f02a99440fd7af7dfc8ab212..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_lumped_lambda_solve.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - -ATC: fix_modify AtC control lumped_lambda_solve - - - - - - -
    - - -

    fix_modify AtC control lumped_lambda_solve

    -syntax

    -

    fix_modify AtC control lumped_lambda_solve <on|off>

    -

    -examples

    -

    fix_modify atc control lumped_lambda_solve on
    -

    -

    -description

    -

    Command to use or not use lumped matrix for lambda solve

    -

    -restrictions

    -

    -related

    -

    -default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mask_direction.html b/doc/html/USER/atc/man_mask_direction.html deleted file mode 100644 index 01ca9d192b14dc79810663c15c6fed23a4a52e91..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mask_direction.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - -ATC: fix_modify AtC control mask_direction - - - - - - -
    - - -

    fix_modify AtC control mask_direction

    -syntax

    -

    fix_modify AtC control mask_direction <direction> <on|off>

    -

    -examples

    -

    fix_modify atc control mask_direction 0 on
    -

    -

    -description

    -

    Command to mask out certain dimensions from the atomic regulator

    -

    -restrictions

    -

    -related

    -

    -default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mass_matrix.html b/doc/html/USER/atc/man_mass_matrix.html deleted file mode 100644 index 5f543fc20ce7fba887ae571814dc6c6ee812745b..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mass_matrix.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC mass_matrix - - - - - - -
    - - -

    fix_modify AtC mass_matrix

    -syntax

    -

    fix_modify AtC mass_matrix <fe | md_fe>

    - -

    -examples

    -

    fix_modify atc mass_matrix fe

    -

    -description

    -

    Determines whether AtC uses the FE mass matrix based on Gaussian quadrature or based on atomic quadrature in the MD region. This is useful for fully overlapping simulations to improve efficiency.

    -

    -restrictions

    -

    Should not be used unless the FE region is contained within the MD region, otherwise the method will be unstable and inaccurate

    -

    -related

    -

    -default

    -

    Default is off

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_material.html b/doc/html/USER/atc/man_material.html deleted file mode 100644 index 9867e90f770c393c3af3014ce1acf4b1e732b62b..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_material.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC material - - - - - - -
    - - -

    fix_modify AtC material

    -syntax

    -

    fix_modify AtC material [elementset_name] [material_id]
    -

    -

    -examples

    -

    fix_modify AtC material gap_region 2

    -

    -description

    -

    Sets the material model in elementset_name to be of type material_id.

    -

    -restrictions

    -

    The element set must already be created and the material must be specified in the material file given the the atc fix on construction

    -

    -related

    -

    -default

    -

    All elements default to the first material in the material file.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_add_to_nodeset.html b/doc/html/USER/atc/man_mesh_add_to_nodeset.html deleted file mode 100644 index cf5ad52f608afa40783a30aee6885a14a79a86ad..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_add_to_nodeset.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC mesh add_to_nodeset - - - - - - -
    - - -

    fix_modify AtC mesh add_to_nodeset

    -syntax

    -

    fix_modify AtC mesh add_to_nodeset <id> <xmin> <xmax> <ymin> <ymax> <zmin> <zmax>

    - -

    -examples

    -

    fix_modify AtC mesh add_to_nodeset lbc -11.9 -11 -12 12 -12 12

    -

    -description

    -

    Command to add nodes to an already existing FE nodeset.

    -

    -restrictions

    -

    -related

    -

    -default

    -

    Coordinates are assumed to be in lattice units.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_create.html b/doc/html/USER/atc/man_mesh_create.html deleted file mode 100644 index efaf7f4307218a770a4b6b506fbbbd6495aae863..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_create.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - -ATC: fix_modify AtC mesh create - - - - - - -
    - - -

    fix_modify AtC mesh create

    -syntax

    -

    fix_modify AtC mesh create <nx> <ny> <nz> <region-id> <f|p> <f|p> <f|p>
    -

    - -

    -examples

    -

    fix_modify AtC mesh create 10 1 1 feRegion p p p
    -

    -

    -description

    -

    Creates a uniform mesh in a rectangular region

    -

    -restrictions

    -

    Creates only uniform rectangular grids in a rectangular region

    -

    -related

    -

    fix_modify AtC mesh quadrature

    -

    -default

    -

    When created, mesh defaults to gauss2 (2-point Gaussian) quadrature. Use "mesh quadrature" command to change quadrature style.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_create_elementset.html b/doc/html/USER/atc/man_mesh_create_elementset.html deleted file mode 100644 index 51bdae4faa022bd9a314818a9adce2bf90b9f943..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_create_elementset.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC mesh create_elementset - - - - - - -
    - - -

    fix_modify AtC mesh create_elementset

    -syntax

    -

    fix_modify AtC create_elementset <id> <xmin> <xmax> <ymin> <ymax> <zmin> <zmax>

    - -

    -examples

    -

    fix_modify AtC mesh create_elementset middle -4.1 4.1 -100 100 -100 1100

    -

    -description

    -

    Command to assign an id to a set of FE elements to be used subsequently in defining material and mesh-based operations.

    -

    -restrictions

    -

    Only viable for rectangular grids.

    -

    -related

    -

    -default

    -

    Coordinates are assumed to be in lattice units.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_create_faceset_box.html b/doc/html/USER/atc/man_mesh_create_faceset_box.html deleted file mode 100644 index 163a6b442c361fb79dad08d19db528c7464bccaf..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_create_faceset_box.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - -ATC: fix_modify AtC mesh create_faceset box - - - - - - -
    - - -

    fix_modify AtC mesh create_faceset box

    -syntax

    -

    fix_modify AtC mesh create_faceset <id> box <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> <in|out> [units]

    - -

    -examples

    -

    fix_modify AtC mesh create_faceset obndy box -4.0 4.0 -12 12 -12 12 out

    -

    -description

    -

    Command to assign an id to a set of FE faces.

    -

    -restrictions

    -

    Only viable for rectangular grids.

    -

    -related

    -

    -default

    -

    The default options are units = lattice and the use of outer faces

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_create_faceset_plane.html b/doc/html/USER/atc/man_mesh_create_faceset_plane.html deleted file mode 100644 index 3ca1108d1a7a4b8cf869bcac1668afeeffb55404..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_create_faceset_plane.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - -ATC: fix_modify AtC mesh create_faceset plane - - - - - - -
    - - -

    fix_modify AtC mesh create_faceset plane

    -syntax

    -

    fix_modify AtC mesh create_faceset <id> plane <x|y|z> <val1> <x|y|z> <lval2> <uval2> [units]

    - -

    -examples

    -

    fix_modify AtC mesh create_faceset xyplane plane y 0 x -4 0

    -

    -description

    -

    Command to assign an id to a set of FE faces.

    -

    -restrictions

    -

    Only viable for rectangular grids.

    -

    -related

    -

    -default

    -

    The default option is units = lattice.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_create_nodeset.html b/doc/html/USER/atc/man_mesh_create_nodeset.html deleted file mode 100644 index 9d5d1556544c84d76d7ca7c8a1791f54388c163e..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_create_nodeset.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC mesh create_nodeset - - - - - - -
    - - -

    fix_modify AtC mesh create_nodeset

    -syntax

    -

    fix_modify AtC mesh create_nodeset <id> <xmin> <xmax> <ymin> <ymax> <zmin> <zmax>

    - -

    -examples

    -

    fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -12 12 -12 12

    -

    -description

    -

    Command to assign an id to a set of FE nodes to be used subsequently in defining boundary conditions.

    -

    -restrictions

    -

    -related

    -

    -default

    -

    Coordinates are assumed to be in lattice units.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_delete_elements.html b/doc/html/USER/atc/man_mesh_delete_elements.html deleted file mode 100644 index cc269c8e651d7c1ade24c3b38df1e8bcebcb7907..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_delete_elements.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC mesh delete_elements - - - - - - -
    - - -

    fix_modify AtC mesh delete_elements

    -syntax

    -

    fix_modify AtC mesh delete_elements <element_set>

    - -

    -examples

    -

    fix_modify AtC delete_elements gap

    -

    -description

    -

    Deletes a group of elements from the mesh.

    -

    -restrictions

    -

    -related

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_nodeset_to_elementset.html b/doc/html/USER/atc/man_mesh_nodeset_to_elementset.html deleted file mode 100644 index 45d03fc98685de7878d36817e0e15c5fe262c382..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_nodeset_to_elementset.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -ATC: fix_modify AtC mesh nodeset_to_elementset - - - - - - -
    - - -

    fix_modify AtC mesh nodeset_to_elementset

    -syntax

    -

    fix_modify AtC nodeset_to_elementset <nodeset_id> <elementset_id> <max/min>

    - -

    -examples

    -

    fix_modify AtC mesh nodeset_to_elementset myNodeset myElementset min

    -

    -description

    -

    Command to create an elementset from an existing nodeset. Either the minimal element set of elements with all nodes in the set, or maximal element set with all elements with at least one node in the set, can be created

    -

    -restrictions

    -

    None.

    -

    -related

    -

    -default

    -

    Unless specified, the maximal element set is created

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_output.html b/doc/html/USER/atc/man_mesh_output.html deleted file mode 100644 index be1b4c194f4d83fc6bd273a7a621e8ed782c55d2..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_output.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC mesh output - - - - - - -
    - - -

    fix_modify AtC mesh output

    -syntax

    -

    fix_modify AtC mesh output <file_prefix>

    -

    -examples

    -

    fix_modify AtC mesh output meshData
    -

    -

    -description

    -

    Command to output mesh and associated data: nodesets, facesets, and elementsets. This data is only output once upon initialization since currently the mesh is static. Creates (binary, "gold" format) Ensight output of mesh data.

    -

    -restrictions

    -

    none

    -

    -related

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_quadrature.html b/doc/html/USER/atc/man_mesh_quadrature.html deleted file mode 100644 index d5291d99db1d2f9f6ce74e125558cd9b69998469..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_quadrature.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC mesh quadrature - - - - - - -
    - - -

    fix_modify AtC mesh quadrature

    -syntax

    -

    fix_modify AtC mesh quadrature <quad>

    - -

    -examples

    -

    fix_modify AtC mesh quadrature face

    -

    -description

    -

    (Re-)assigns the quadrature style for the existing mesh.

    -

    -restrictions

    -

    -related

    -

    fix_modify AtC mesh create

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_read.html b/doc/html/USER/atc/man_mesh_read.html deleted file mode 100644 index a497a2ed041b6134f88c3dba12897ff2c72b15ed..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_read.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC mesh read - - - - - - -
    - - -

    fix_modify AtC mesh read

    -syntax

    -

    fix_modify AtC mesh read <filename> <f|p> <f|p> <f|p>

    - -

    -examples

    -

    fix_modify AtC mesh read myComponent.mesh p p p
    - fix_modify AtC mesh read myOtherComponent.exo

    -

    -description

    -

    Reads a mesh from a text or exodus file, and assigns periodic boundary conditions if needed.

    -

    -restrictions

    -

    -related

    -

    -default

    -

    periodicity flags are false by default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_mesh_write.html b/doc/html/USER/atc/man_mesh_write.html deleted file mode 100644 index 21754a1e683185f57d74ba98c83e1604f00e7fb3..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_mesh_write.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC mesh write - - - - - - -
    - - -

    fix_modify AtC mesh write

    -syntax

    -

    fix_modify AtC mesh write <filename>

    - -

    -examples

    -

    fix_modify AtC mesh write myMesh.mesh
    -

    -

    -description

    -

    Writes a mesh to a text file.

    -

    -restrictions

    -

    -related

    -

    -default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_momentum_time_integration.html b/doc/html/USER/atc/man_momentum_time_integration.html deleted file mode 100644 index 3b987f70ef14033a184eb6a73f2d58dec0a0c8fb..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_momentum_time_integration.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - -ATC: fix_modify AtC time_integration (momentum) - - - - - - -
    - - -

    fix_modify AtC time_integration (momentum)

    -syntax

    -

    fix_modify AtC time_integration <descriptor>
    -

    - -

    various time integration methods for the finite elements
    -

    -

    -description

    -

    verlet - atomic velocity update with 2nd order Verlet, nodal temperature update with 2nd order Verlet, kinetostats based on controlling force
    - fractional_step - atomic velocity update with 2nd order Verlet, mixed nodal momentum update, 2nd order Verlet for continuum and exact 2nd order Verlet for atomic contributions, kinetostats based on controlling discrete momentum changes
    - gear - atomic velocity update with 2nd order Verlet, nodal temperature update with 3rd or 4th order Gear, kinetostats based on controlling power
    -

    -

    -examples

    -

    fix_modify atc time_integration verlet
    - fix_modify atc time_integration fractional_step
    -

    -

    -description

    -

    -related

    -

    see fix atc command

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_output.html b/doc/html/USER/atc/man_output.html deleted file mode 100644 index 3129ff30c9172e5bc3bb76031a626190b66edbdc..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_output.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - -ATC: fix_modify AtC output - - - - - - -
    - - -

    fix_modify AtC output

    -syntax

    -

    fix_modify AtC output <filename_prefix> <frequency> [text | full_text | binary | vector_components | tensor_components ] fix_modify AtC output index [step | time ]

    - -

    -examples

    -

    fix_modify AtC output heatFE 100
    - fix_modify AtC output hardyFE 1 text tensor_components
    - fix_modify AtC output hardyFE 10 text binary tensor_components
    - fix_modify AtC output index step
    -

    -

    -description

    -

    Creates text and/or binary (Ensight, "gold" format) output of nodal/mesh data which is transfer/physics specific. Output indexed by step or time is possible.

    -

    -restrictions

    -

    -related

    -

    see fix atc command

    -

    -default

    -

    no default format output indexed by time

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_output_elementset.html b/doc/html/USER/atc/man_output_elementset.html deleted file mode 100644 index be259388ba8ac14125ae89d41070c2b65cf22647..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_output_elementset.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - -ATC: fix_modify AtC output elementset - - - - - - -
    - - -

    fix_modify AtC output elementset

    -syntax

    -

    fix_modify AtC output volume_integral <eset_name> <field> {`

    - -

    -examples

    -

    fix_modify AtC output eset1 mass_density
    -

    -

    -description

    -

    Performs volume integration of specified field over elementset and outputs resulting variable values to GLOBALS file.

    -

    -restrictions

    -

    -related

    -

    see fix atc command

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_output_nodeset.html b/doc/html/USER/atc/man_output_nodeset.html deleted file mode 100644 index db76c8008ec00dc62b103c45aa40168d667c004f..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_output_nodeset.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - -ATC: fix_modify AtC output nodeset - - - - - - -
    - - -

    fix_modify AtC output nodeset

    -syntax

    -

    fix_modify AtC output nodeset <nodeset_name> <operation>

    - -

    -examples

    -

    fix_modify AtC output nodeset nset1 sum
    -

    -

    -description

    -

    Performs operation over the nodes belonging to specified nodeset and outputs resulting variable values to GLOBALS file.

    -

    -restrictions

    -

    -related

    -

    see fix atc command

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_pair_interactions.html b/doc/html/USER/atc/man_pair_interactions.html deleted file mode 100644 index d46dcb12340bf3a055fbfdab7dcbec0cff752532..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_pair_interactions.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC pair_interactions/bond_interactions - - - - - - -
    - - -

    fix_modify AtC pair_interactions/bond_interactions

    -syntax

    -

    fix_modify AtC pair_interactions <on|off>
    - fix_modify AtC bond_interactions <on|off>
    -

    -

    -examples

    -

    fix_modify AtC bond_interactions on
    -

    -

    -description

    -

    include bonds and/or pairs in the stress and heat flux computations

    -

    -restrictions

    -

    -related

    -

    -default

    -

    pair interactions: on, bond interactions: off

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_poisson_solver.html b/doc/html/USER/atc/man_poisson_solver.html deleted file mode 100644 index d69d74db1a617c444bde634b5e6d67f83fa6bf20..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_poisson_solver.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -ATC: fix_modify AtC poisson_solver - - - - - - -
    - - -

    fix_modify AtC poisson_solver

    -syntax

    -

    fix_modify AtC poisson_solver mesh create <nx> <ny> <nz> <region-id> <f|p> <f|p> <f|p>

    - -

    -examples

    -

    fix_modify AtC poisson_solver mesh create 10 1 1 feRegion p p p

    -

    -description

    -

    Creates a uniform mesh in a rectangular region

    -

    -restrictions

    -

    creates only uniform rectangular grids in a rectangular region

    -

    -related

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_read_restart.html b/doc/html/USER/atc/man_read_restart.html deleted file mode 100644 index 96168fccc769fce0a7d6e15c21e024f61a2500aa..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_read_restart.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC read_restart - - - - - - -
    - - -

    fix_modify AtC read_restart

    -syntax

    -

    fix_modify AtC read_restart [file_name]
    -

    -

    -examples

    -

    fix_modify AtC read_restart ATC_state
    -

    -

    -description

    -

    Reads the current state of the fields from a named text-based restart file.

    -

    -restrictions

    -

    The restart file only contains fields and their time derivatives. The reference positions of the atoms and the commands that initialize the fix are not saved e.g. an identical mesh containing the same atoms will have to be recreated.

    -

    -related

    -

    see write_restart fix_modify AtC write_restart

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_remove_molecule.html b/doc/html/USER/atc/man_remove_molecule.html deleted file mode 100644 index 054291efda0e20d1b4b7fbd9f633c173a38f2390..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_remove_molecule.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - -ATC: fix_modify AtC remove_molecule - - - - - - -
    - - -

    fix_modify AtC remove_molecule

    -syntax

    -

    fix_modify_AtC remove_molecule <TAG>
    -

    - -

    -examples

    -

    fix_modify AtC remove_molecule water
    -

    -

    -description

    -

    Removes tag designated for tracking a specified set of molecules.
    -

    -

    -restrictions

    -

    -related

    -

    -default

    -

    No defaults for this command.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_remove_source.html b/doc/html/USER/atc/man_remove_source.html deleted file mode 100644 index d1d249eb76b0a7ab764f04ee472bb23d44a9afbb..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_remove_source.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC remove_source - - - - - - -
    - - -

    fix_modify AtC remove_source

    -syntax

    -

    fix_modify AtC remove_source <field> <element_set>

    - -

    -examples

    -

    fix_modify atc remove_source temperature groupNAME

    -

    -description

    -

    Remove a domain source.

    -

    -restrictions

    -

    keyword 'all' reserved in element_set name

    -

    -related

    -

    see fix_modify AtC source

    -

    -default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_remove_species.html b/doc/html/USER/atc/man_remove_species.html deleted file mode 100644 index ba94a52658f0213a4d586578e3e6e94336f7c180..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_remove_species.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - -ATC: fix_modify AtC remove_species - - - - - - -
    - - -

    fix_modify AtC remove_species

    -syntax

    -

    fix_modify_AtC delete_species <TAG>
    -

    - -

    -examples

    -

    fix_modify AtC remove_species gold
    -

    -

    -description

    -

    Removes tag designated for tracking a specified species.
    -

    -

    -restrictions

    -

    -related

    -

    -default

    -

    No defaults for this command.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_reset_atomic_reference_positions.html b/doc/html/USER/atc/man_reset_atomic_reference_positions.html deleted file mode 100644 index cb82f61bbb895659bb160ba0275583c34dfc0555..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_reset_atomic_reference_positions.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC reset_atomic_reference_positions - - - - - - -
    - - -

    fix_modify AtC reset_atomic_reference_positions

    -syntax

    -

    fix_modify AtC reset_atomic_reference_positions

    -

    -examples

    -

    fix_modify atc reset_atomic_reference_positions

    -

    -description

    -

    Resets the atomic positions ATC uses to perform point to field operations. In can be used to use perfect lattice sites in ATC but a thermalized or deformed lattice in LAMMPS.

    -

    -restrictions

    -

    -

    -related

    -

    -

    -default

    -

    Default is off

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_reset_time.html b/doc/html/USER/atc/man_reset_time.html deleted file mode 100644 index 35d75ccb97798d0405d21d66a27ac7b9cb7bac68..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_reset_time.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - -ATC: fix_modify AtC reset_time - - - - - - -
    - - -

    fix_modify AtC reset_time

    -syntax

    -

    fix_modify AtC reset_time

    -

    -examples

    -

    fix_modify atc reset_time 0.0
    -

    -

    -description

    -

    Resets the simulation time counter.

    -

    -restrictions

    -

    -related

    -

    -default

    -

    -syntax

    -

    fix_modify AtC kernel_bandwidth

    -

    -examples

    -

    fix_modify atc reset_time 8
    -

    -

    -description

    -

    Sets a maximum parallel bandwidth for the kernel functions during parallel communication. If the command is not issued, the default will be to assume the bandwidth of the kernel matrix corresponds to the number of sampling locations.

    -

    -restrictions

    -

    Only is used if kernel functions are being used.

    -

    -related

    -

    -default

    -

    Number of sample locations.

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_sample_frequency.html b/doc/html/USER/atc/man_sample_frequency.html deleted file mode 100644 index 13f468b22289a4763292768c909843b58d1f865d..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_sample_frequency.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC sample_frequency - - - - - - -
    - - -

    fix_modify AtC sample_frequency

    -syntax

    -

    fix_modify AtC sample_frequency [freq]

    - -

    -examples

    -

    fix_modify AtC sample_frequency 10

    -

    -description

    -

    Specifies a frequency at which fields are computed for the case where time filters are being applied.

    -

    -restrictions

    -

    Must be used with the hardy/field AtC fix ( see fix atc command ) and is only relevant when time filters are being used.

    -

    -related

    -

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_set.html b/doc/html/USER/atc/man_set.html deleted file mode 100644 index d104e535b6bb1501d70aed3068403292a9fddb59..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_set.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - -ATC: fix_modify AtC set - - - - - - -
    - - -

    fix_modify AtC set

    -syntax

    -

    fix_modify AtC set reference_potential_energy <value_or_filename(optional)>

    - -

    -examples

    -

    fix_modify AtC set reference_potential_energy
    - fix_modify AtC set reference_potential_energy -0.05
    - fix_modify AtC set reference_potential_energy myPEvalues
    -

    -

    -description

    -

    Used to set various quantities for the post-processing algorithms. It sets the zero point for the potential energy density using the value provided for all nodes, or from the current configuration of the lattice if no value is provided, or values provided within the specified filename.

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    -

    -related

    -

    -default

    -

    Defaults to lammps zero point i.e. isolated atoms

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_source.html b/doc/html/USER/atc/man_source.html deleted file mode 100644 index 833b2a866f4d28ad552ea2c257022dd0a77baacc..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_source.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -ATC: fix_modify AtC source - - - - - - -
    - - -

    fix_modify AtC source

    -syntax

    -

    fix_modify AtC source <field> <element_set> <value | function>

    - -

    -examples

    -

    fix_modify atc source temperature middle temporal_ramp 10. 0.

    -

    -description

    -

    Add domain sources to the mesh. The units are consistent with LAMMPS's units for mass, length and time and are defined by the PDE being solved, e.g. for thermal transfer the balance equation is for energy and source is energy per time.

    -

    -restrictions

    -

    keyword 'all' reserved in element_set name

    -

    -related

    -

    see fix_modify AtC remove_source

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_source_integration.html b/doc/html/USER/atc/man_source_integration.html deleted file mode 100644 index 70f62d2e5739f6aaedbd6599052b23dfd8af31cf..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_source_integration.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - -ATC: fix_modify AtC source_integration - - - - - - -
    - - -

    fix_modify AtC source_integration

    -syntax

    -

    fix_modify AtC source_integration < fe | atom>

    -

    -examples

    -

    fix_modify atc source_integration atom

    -

    -description

    -

    -restrictions

    -

    -related

    -

    -default

    -

    Default is fe

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_temperature_definition.html b/doc/html/USER/atc/man_temperature_definition.html deleted file mode 100644 index f4fb21471c634eae1f1c8cb30e1734fba745e877..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_temperature_definition.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - -ATC: fix_modify AtC temperature_definition - - - - - - -
    - - -

    fix_modify AtC temperature_definition

    -syntax

    -

    fix_modify AtC temperature_definition <kinetic|total>

    -

    -examples

    -

    fix_modify atc temperature_definition kinetic
    -

    -

    -description

    -

    Change the definition for the atomic temperature used to create the finite element temperature. The kinetic option is based only on the kinetic energy of the atoms while the total option uses the total energy (kinetic + potential) of an atom.

    -

    -restrictions

    -

    This command is only valid when using thermal coupling. Also, while not a formal restriction, the user should ensure that associating a potential energy with each atom makes physical sense for the total option to be meaningful.

    -

    -default

    -

    kinetic

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_thermal_time_integration.html b/doc/html/USER/atc/man_thermal_time_integration.html deleted file mode 100644 index c2f636134f09d21311c85498570ff4b6078c56ac..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_thermal_time_integration.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - -ATC: fix_modify AtC time_integration (thermal) - - - - - - -
    - - -

    fix_modify AtC time_integration (thermal)

    -syntax

    -

    fix_modify AtC time_integration <descriptor>
    -

    - -

    various time integration methods for the finite elements
    -

    -

    -description

    -

    gear - atomic velocity update with 2nd order Verlet, nodal temperature update with 3rd or 4th order Gear, thermostats based on controlling power
    - fractional_step - atomic velocity update with 2nd order Verlet, mixed nodal temperature update, 3/4 Gear for continuum and 2 Verlet for atomic contributions, thermostats based on controlling discrete energy changes
    -

    -

    -examples

    -

    fix_modify atc time_integration gear
    - fix_modify atc time_integration fractional_step
    -

    -

    -description

    -

    -related

    -

    see fix atc command

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_time_filter.html b/doc/html/USER/atc/man_time_filter.html deleted file mode 100644 index ec70fed871761cfb327546273ea249c471bc98ba..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_time_filter.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - -ATC: fix_modify AtC filter - - - - - - -
    - - -

    fix_modify AtC filter

    -syntax

    -

    fix_modify AtC filter <on | off | equilibrate>
    -

    - -

    -examples

    -

    fix_modify atc transfer filter on
    -

    -

    -description

    -

    Filters the MD dynamics to construct a more appropriate continuous field. Equilibrating first filters the time derivatives without changing the dynamics to provide a better initial condition to the filtered dynamics

    -

    -restrictions

    -

    only for be used with specific transfers: thermal, two_temperature

    -

    -related

    -

    fix_modify AtC filter scale
    - fix_modify AtC equilibrium_start

    -

    -default

    -

    off

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_track_displacement.html b/doc/html/USER/atc/man_track_displacement.html deleted file mode 100644 index 8f729cffe3a802ec4334259e008d46692f13b65c..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_track_displacement.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -ATC: fix_modify AtC track_displacement - - - - - - -
    - - -

    fix_modify AtC track_displacement

    -syntax

    -

    fix_modify AtC track_displacement <on/off>
    -

    -

    -examples

    -

    fix_modify atc track_displacement on
    -

    -

    -description

    -

    Determines whether displacement is tracked or not. For solids problems this is a useful quantity, but for fluids it is not relevant.

    -

    -restrictions

    -

    Some constitutive models require the displacement field

    -

    -default

    -

    on

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_unfix_flux.html b/doc/html/USER/atc/man_unfix_flux.html deleted file mode 100644 index b2a19a7fd0282edf2576a43777a89339c9d11a4b..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_unfix_flux.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC unfix_flux - - - - - - -
    - - -

    fix_modify AtC unfix_flux

    -syntax

    -

    fix_modify AtC fix_flux <field> <face_set> <value | function>

    - -

    -examples

    -

    fix_modify atc unfix_flux temperature faceSet
    -

    -

    -description

    -

    Command for removing prescribed normal fluxes e.g. heat_flux, stress.

    -

    -restrictions

    -

    -related

    -

    see fix_modify AtC unfix_flux

    -

    -default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_unfix_nodes.html b/doc/html/USER/atc/man_unfix_nodes.html deleted file mode 100644 index 498d549f9eb6dc1a34532f1a35e502ae483181c5..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_unfix_nodes.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -ATC: fix_modify AtC unfix - - - - - - -
    - - -

    fix_modify AtC unfix

    -syntax

    -

    fix_modify AtC unfix <field> <nodeset>

    - -

    -examples

    -

    fix_modify AtC unfix temperature groupNAME

    -

    -description

    -

    Removes constraint on field values for specified nodes.

    -

    -restrictions

    -

    keyword 'all' reserved in nodeset name

    -

    -related

    -

    see fix_modify AtC fix

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_write_atom_weights.html b/doc/html/USER/atc/man_write_atom_weights.html deleted file mode 100644 index 939506a28e8dd71c68192c5a45758824dedb9d99..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_write_atom_weights.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -ATC: fix_modify AtC write_atom_weights - - - - - - -
    - - -

    fix_modify AtC write_atom_weights

    -syntax

    -

    fix_modify AtC write_atom_weights <filename> <frequency>

    - -

    -examples

    -

    fix_modify atc write_atom_weights atm_wt_file.txt 10
    -

    -

    -description

    -

    Command for writing the values of atomic weights to a specified file.

    -

    -restrictions

    -

    -related

    -

    -default

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/USER/atc/man_write_restart.html b/doc/html/USER/atc/man_write_restart.html deleted file mode 100644 index 6ea350d5e859a3985dce72e47445c9cc583024f0..0000000000000000000000000000000000000000 --- a/doc/html/USER/atc/man_write_restart.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC write_restart - - - - - - -
    - - -

    fix_modify AtC write_restart

    -syntax

    -

    fix_modify AtC write_restart [file_name]
    -

    -

    -examples

    -

    fix_modify AtC write_restart restart.mydata
    -

    -

    -description

    -

    Dumps the current state of the fields to a named text-based restart file. This done when the command is invoked and not repeated, unlike the similar lammps command.

    -

    -restrictions

    -

    The restart file only contains fields and their time derivatives. The reference positions of the atoms and the commands that initialize the fix are not saved e.g. an identical mesh containing the same atoms will have to be recreated.

    -

    -related

    -

    see read_restart fix_modify AtC read_restart

    -

    -default

    -

    none

    -
    -
    Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
    - - diff --git a/doc/html/_images/angle_charmm.jpg b/doc/html/_images/angle_charmm.jpg deleted file mode 100644 index c6e6c297d2020d7c1abc75185316e7d706fe5976..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_charmm.jpg and /dev/null differ diff --git a/doc/html/_images/angle_class2.jpg b/doc/html/_images/angle_class2.jpg deleted file mode 100644 index f0f2a5152ed00db4ecdfe1c21dab476e69235dc0..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_class2.jpg and /dev/null differ diff --git a/doc/html/_images/angle_cosine.jpg b/doc/html/_images/angle_cosine.jpg deleted file mode 100644 index 23b9b6431019dfc432e113da50fc9056438cdd9a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_cosine.jpg and /dev/null differ diff --git a/doc/html/_images/angle_cosine_delta.jpg b/doc/html/_images/angle_cosine_delta.jpg deleted file mode 100644 index c6e90bb2c5a7a9f91e93ffadc9f9d31e776f1f7d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_cosine_delta.jpg and /dev/null differ diff --git a/doc/html/_images/angle_cosine_periodic.jpg b/doc/html/_images/angle_cosine_periodic.jpg deleted file mode 100644 index a9d7d50cb3ab79f3dafd7c2c76d0338080defedd..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_cosine_periodic.jpg and /dev/null differ diff --git a/doc/html/_images/angle_cosine_shift.jpg b/doc/html/_images/angle_cosine_shift.jpg deleted file mode 100644 index d9929939c8a3c9ebedb7ba50d8bf9ee84d5df564..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_cosine_shift.jpg and /dev/null differ diff --git a/doc/html/_images/angle_cosine_shift_exp.jpg b/doc/html/_images/angle_cosine_shift_exp.jpg deleted file mode 100644 index 294986de4b66d52f010331b7dd43b72d8d7b64ae..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_cosine_shift_exp.jpg and /dev/null differ diff --git a/doc/html/_images/angle_cosine_squared.jpg b/doc/html/_images/angle_cosine_squared.jpg deleted file mode 100644 index b992398b7d0cdd42707f3442eaa2dcf1896e0dc2..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_cosine_squared.jpg and /dev/null differ diff --git a/doc/html/_images/angle_dipole_couple.jpg b/doc/html/_images/angle_dipole_couple.jpg deleted file mode 100644 index f16849b2f9663e12ec3148d2ecdd8ba8916f00f1..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_dipole_couple.jpg and /dev/null differ diff --git a/doc/html/_images/angle_dipole_gamma.jpg b/doc/html/_images/angle_dipole_gamma.jpg deleted file mode 100644 index 4bf618e2529f152f2cb27952ccdd0ae7c00417de..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_dipole_gamma.jpg and /dev/null differ diff --git a/doc/html/_images/angle_dipole_potential.jpg b/doc/html/_images/angle_dipole_potential.jpg deleted file mode 100644 index b1285e895749cc236fa379eb6862f8fb03a44470..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_dipole_potential.jpg and /dev/null differ diff --git a/doc/html/_images/angle_dipole_torque.jpg b/doc/html/_images/angle_dipole_torque.jpg deleted file mode 100644 index 996a9df3cb3cd51f23678121f6e4765a7aed35e0..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_dipole_torque.jpg and /dev/null differ diff --git a/doc/html/_images/angle_fourier.jpg b/doc/html/_images/angle_fourier.jpg deleted file mode 100644 index e748e67430c11709df92ac52bf1474f6406f6757..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_fourier.jpg and /dev/null differ diff --git a/doc/html/_images/angle_fourier_simple.jpg b/doc/html/_images/angle_fourier_simple.jpg deleted file mode 100644 index 6c9297b970e008bf50f77649e564783ec31c8d34..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_fourier_simple.jpg and /dev/null differ diff --git a/doc/html/_images/angle_harmonic.jpg b/doc/html/_images/angle_harmonic.jpg deleted file mode 100644 index 352be0b5440fac4e5f896212eca6a2dc6ccfd02f..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_harmonic.jpg and /dev/null differ diff --git a/doc/html/_images/angle_quartic.jpg b/doc/html/_images/angle_quartic.jpg deleted file mode 100644 index 744ce7a35ff5dcc4aa7079bc5234574762939fa3..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/angle_quartic.jpg and /dev/null differ diff --git a/doc/html/_images/atc_nanotube.jpg b/doc/html/_images/atc_nanotube.jpg deleted file mode 100644 index e52958a7eca7aae06504145b666e471114fc03f7..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/atc_nanotube.jpg and /dev/null differ diff --git a/doc/html/_images/balance_nonuniform.jpg b/doc/html/_images/balance_nonuniform.jpg deleted file mode 100644 index 3962b8f67558c28d2833b55d25ef4504a6429f2f..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/balance_nonuniform.jpg and /dev/null differ diff --git a/doc/html/_images/balance_rcb.jpg b/doc/html/_images/balance_rcb.jpg deleted file mode 100644 index b686835399b96bf71d66e479e38adeba68daef2f..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/balance_rcb.jpg and /dev/null differ diff --git a/doc/html/_images/balance_uniform.jpg b/doc/html/_images/balance_uniform.jpg deleted file mode 100644 index 404bf5e275b5a42ffffbd0da320cdfc339cd43bb..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/balance_uniform.jpg and /dev/null differ diff --git a/doc/html/_images/bond_class2.jpg b/doc/html/_images/bond_class2.jpg deleted file mode 100644 index 493048100ed395ae9e2186151592ce0ff0f51288..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/bond_class2.jpg and /dev/null differ diff --git a/doc/html/_images/bond_fene.jpg b/doc/html/_images/bond_fene.jpg deleted file mode 100644 index e8b909c08f715e75e1944205135882f64f17985d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/bond_fene.jpg and /dev/null differ diff --git a/doc/html/_images/bond_fene_expand.jpg b/doc/html/_images/bond_fene_expand.jpg deleted file mode 100644 index 1d04acec326963cf9dd8b1fed6dbce12efa487d8..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/bond_fene_expand.jpg and /dev/null differ diff --git a/doc/html/_images/bond_harmonic.jpg b/doc/html/_images/bond_harmonic.jpg deleted file mode 100644 index fe9ef5619b328950e68963d0e1b731119eb8ec3b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/bond_harmonic.jpg and /dev/null differ diff --git a/doc/html/_images/bond_harmonic_shift.jpg b/doc/html/_images/bond_harmonic_shift.jpg deleted file mode 100644 index 3e66d853a5173e56376b35bc8fe6b46c7732274a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/bond_harmonic_shift.jpg and /dev/null differ diff --git a/doc/html/_images/bond_harmonic_shift_cut.jpg b/doc/html/_images/bond_harmonic_shift_cut.jpg deleted file mode 100644 index 06640e4fe0899b858db74b9e9297879ccdb50421..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/bond_harmonic_shift_cut.jpg and /dev/null differ diff --git a/doc/html/_images/bond_morse.jpg b/doc/html/_images/bond_morse.jpg deleted file mode 100644 index 6795c9e527d3a06f19f9c379c7b0bdf3e87f7168..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/bond_morse.jpg and /dev/null differ diff --git a/doc/html/_images/bond_nonlinear.jpg b/doc/html/_images/bond_nonlinear.jpg deleted file mode 100644 index 0f18d8e73fdd11acfd0996f0bf472b6b3757809e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/bond_nonlinear.jpg and /dev/null differ diff --git a/doc/html/_images/bond_quartic.jpg b/doc/html/_images/bond_quartic.jpg deleted file mode 100644 index 9d092883b2ee55c75d9222a41836ed259ec6cc41..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/bond_quartic.jpg and /dev/null differ diff --git a/doc/html/_images/bondswap.jpg b/doc/html/_images/bondswap.jpg deleted file mode 100644 index 24b6028cafcb331377abf92725ad36df93ab2d03..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/bondswap.jpg and /dev/null differ diff --git a/doc/html/_images/box.jpg b/doc/html/_images/box.jpg deleted file mode 100644 index 4cb43df953392590e2be61b056e233279d1781e8..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/box.jpg and /dev/null differ diff --git a/doc/html/_images/box_inverse.jpg b/doc/html/_images/box_inverse.jpg deleted file mode 100644 index 5d0895b87e66d4ac08871bb0812ce68c5d3e5ca6..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/box_inverse.jpg and /dev/null differ diff --git a/doc/html/_images/centro_symmetry.jpg b/doc/html/_images/centro_symmetry.jpg deleted file mode 100644 index 1e89d11a11bea81ba00ddb2a65d62a3f2e0e2398..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/centro_symmetry.jpg and /dev/null differ diff --git a/doc/html/_images/cna_cutoff1.jpg b/doc/html/_images/cna_cutoff1.jpg deleted file mode 100644 index fae5c6b636c0f818f8677fd7fce4f402cb03a95d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/cna_cutoff1.jpg and /dev/null differ diff --git a/doc/html/_images/cna_cutoff2.jpg b/doc/html/_images/cna_cutoff2.jpg deleted file mode 100644 index 744b61e9b45fd5401a745ab968d9faa607a88b19..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/cna_cutoff2.jpg and /dev/null differ diff --git a/doc/html/_images/compute_dpd.jpg b/doc/html/_images/compute_dpd.jpg deleted file mode 100644 index 549f259c6cbbb89c8c6a8218b5b43af2a688ce3d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_dpd.jpg and /dev/null differ diff --git a/doc/html/_images/compute_fep_bar.jpg b/doc/html/_images/compute_fep_bar.jpg deleted file mode 100644 index 772ec9c0450a35c52b5b927cbf20e7d77e373c93..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_fep_bar.jpg and /dev/null differ diff --git a/doc/html/_images/compute_fep_fdti.jpg b/doc/html/_images/compute_fep_fdti.jpg deleted file mode 100644 index ae8de241cc132dfbe0d932baf99a9e066ab178e1..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_fep_fdti.jpg and /dev/null differ diff --git a/doc/html/_images/compute_fep_fep.jpg b/doc/html/_images/compute_fep_fep.jpg deleted file mode 100644 index d84a76b0ddfcca48421c272f9f7fe64a6ece5cd6..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_fep_fep.jpg and /dev/null differ diff --git a/doc/html/_images/compute_fep_lambda.jpg b/doc/html/_images/compute_fep_lambda.jpg deleted file mode 100644 index 5ef9e8b9f2fbce24c23d751f23986e87f2a16445..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_fep_lambda.jpg and /dev/null differ diff --git a/doc/html/_images/compute_fep_ti.jpg b/doc/html/_images/compute_fep_ti.jpg deleted file mode 100644 index 6b0c8fdc195399b326ac7fd318e9399d614ed065..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_fep_ti.jpg and /dev/null differ diff --git a/doc/html/_images/compute_fep_u.jpg b/doc/html/_images/compute_fep_u.jpg deleted file mode 100644 index 62df5dd0c03a6d20cca157cbc46053adb77ae90a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_fep_u.jpg and /dev/null differ diff --git a/doc/html/_images/compute_fep_vol.jpg b/doc/html/_images/compute_fep_vol.jpg deleted file mode 100644 index a66facad39308af7e4193c82b3012ead5f51a225..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_fep_vol.jpg and /dev/null differ diff --git a/doc/html/_images/compute_gyration.jpg b/doc/html/_images/compute_gyration.jpg deleted file mode 100644 index 228544443459e2c13b9ba1e860d8abd5e02f9ffb..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_gyration.jpg and /dev/null differ diff --git a/doc/html/_images/compute_msd_nongauss.jpg b/doc/html/_images/compute_msd_nongauss.jpg deleted file mode 100644 index d57f6a4af842d62525d6fc00e8c359b3d368b09a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_msd_nongauss.jpg and /dev/null differ diff --git a/doc/html/_images/compute_saed1.jpg b/doc/html/_images/compute_saed1.jpg deleted file mode 100644 index 6bad3a6104904ff97ac5982d63f88cf68bb8b50f..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_saed1.jpg and /dev/null differ diff --git a/doc/html/_images/compute_saed2.jpg b/doc/html/_images/compute_saed2.jpg deleted file mode 100644 index 2b3b0bc090cf91bfe079f17eee64c5644d24424e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_saed2.jpg and /dev/null differ diff --git a/doc/html/_images/compute_saed3.jpg b/doc/html/_images/compute_saed3.jpg deleted file mode 100644 index 1bbc920908bd401adeaa2f1cce04dc2c40f3fd23..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_saed3.jpg and /dev/null differ diff --git a/doc/html/_images/compute_sna_atom1.jpg b/doc/html/_images/compute_sna_atom1.jpg deleted file mode 100644 index fe4b641aa68f116ea29639e1d7c4ba5502160e96..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_sna_atom1.jpg and /dev/null differ diff --git a/doc/html/_images/compute_sna_atom2.jpg b/doc/html/_images/compute_sna_atom2.jpg deleted file mode 100644 index 7a4b2c2111722da5ffbd78c353315e431ab57e53..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_sna_atom2.jpg and /dev/null differ diff --git a/doc/html/_images/compute_sna_atom3.jpg b/doc/html/_images/compute_sna_atom3.jpg deleted file mode 100644 index 41d6774e9c8ec8309c3be5ce151a8095a633098c..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_sna_atom3.jpg and /dev/null differ diff --git a/doc/html/_images/compute_sna_atom4.jpg b/doc/html/_images/compute_sna_atom4.jpg deleted file mode 100644 index 5d53943bf40b052fe5dc5193db04270c7069a1ec..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_sna_atom4.jpg and /dev/null differ diff --git a/doc/html/_images/compute_sna_atom5.jpg b/doc/html/_images/compute_sna_atom5.jpg deleted file mode 100644 index 732731fe13becfbb3e5c6c003b87a90f3dceb287..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_sna_atom5.jpg and /dev/null differ diff --git a/doc/html/_images/compute_sna_atom6.jpg b/doc/html/_images/compute_sna_atom6.jpg deleted file mode 100644 index 963dd814167b7e3fbec54165368c35fcd9e28635..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_sna_atom6.jpg and /dev/null differ diff --git a/doc/html/_images/compute_xrd1.jpg b/doc/html/_images/compute_xrd1.jpg deleted file mode 100644 index 8432fad4aa9383d41fa644ba12e8b7370d121b65..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_xrd1.jpg and /dev/null differ diff --git a/doc/html/_images/compute_xrd2.jpg b/doc/html/_images/compute_xrd2.jpg deleted file mode 100644 index 1bcf0494ea804da23768d39ff195ac031609064f..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_xrd2.jpg and /dev/null differ diff --git a/doc/html/_images/compute_xrd3.jpg b/doc/html/_images/compute_xrd3.jpg deleted file mode 100644 index 19f7aa99b5f79024726f836e35358a98666436e4..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_xrd3.jpg and /dev/null differ diff --git a/doc/html/_images/compute_xrd4.jpg b/doc/html/_images/compute_xrd4.jpg deleted file mode 100644 index 385bb1efd79314516233ae8db633d12e8c751412..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_xrd4.jpg and /dev/null differ diff --git a/doc/html/_images/compute_xrd5.jpg b/doc/html/_images/compute_xrd5.jpg deleted file mode 100644 index c6f0a2609a4a2abd4e5f6f93c910d2340d12265f..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/compute_xrd5.jpg and /dev/null differ diff --git a/doc/html/_images/coul_soft.jpg b/doc/html/_images/coul_soft.jpg deleted file mode 100644 index d2cc4c0c9af061cd00618ce42821a845073fbe2c..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/coul_soft.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_charmm.jpg b/doc/html/_images/dihedral_charmm.jpg deleted file mode 100644 index 810afa3cd2c8b42dabe11a512181e334046beff1..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_charmm.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_class2.jpg b/doc/html/_images/dihedral_class2.jpg deleted file mode 100644 index 6a6780e7697ae221435c058b3fee073f34b3d318..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_class2.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_cosine_shift_exp.jpg b/doc/html/_images/dihedral_cosine_shift_exp.jpg deleted file mode 100644 index ea0a7550f8a0f90a9f8cecd564571cb3cee7aa42..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_cosine_shift_exp.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_fourier.jpg b/doc/html/_images/dihedral_fourier.jpg deleted file mode 100644 index 663ac17ee652aab748b230a09b20a99564ed3e18..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_fourier.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_harmonic.jpg b/doc/html/_images/dihedral_harmonic.jpg deleted file mode 100644 index cb5c16a8cabc72517517a6e66def1f8125db19a3..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_harmonic.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_helix.jpg b/doc/html/_images/dihedral_helix.jpg deleted file mode 100644 index 01a0ec982c49a94abc615778a4f243b77f5daa4f..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_helix.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_multi_harmonic.jpg b/doc/html/_images/dihedral_multi_harmonic.jpg deleted file mode 100644 index d066cd212ba694ad7d99d02ff1333df32d6ec602..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_multi_harmonic.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_nharmonic.jpg b/doc/html/_images/dihedral_nharmonic.jpg deleted file mode 100644 index 4f4928bdd5738d37714e9260f600677c6d39714c..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_nharmonic.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_opls.jpg b/doc/html/_images/dihedral_opls.jpg deleted file mode 100644 index 0546aebfdee858a9b8523b257ec4a3c2de85ecb4..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_opls.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_quadratic.jpg b/doc/html/_images/dihedral_quadratic.jpg deleted file mode 100644 index 8fb17622f8c99eeac43b7129b17a4753dcdf7176..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_quadratic.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_sign.jpg b/doc/html/_images/dihedral_sign.jpg deleted file mode 100644 index 2f60d76cb662d46912b3e57f2492d71751b63e51..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_sign.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_spherical.jpg b/doc/html/_images/dihedral_spherical.jpg deleted file mode 100644 index 73a900762ef89671ea92004e747012a0d4320c2d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_spherical.jpg and /dev/null differ diff --git a/doc/html/_images/dihedral_spherical_angles.jpg b/doc/html/_images/dihedral_spherical_angles.jpg deleted file mode 100644 index 216667fb4a419d5abb80126f8a707bc69c8598ea..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dihedral_spherical_angles.jpg and /dev/null differ diff --git a/doc/html/_images/dreiding_hbond.jpg b/doc/html/_images/dreiding_hbond.jpg deleted file mode 100644 index 76cc42a45b2197398a2ce1c765c5f290389809d9..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dreiding_hbond.jpg and /dev/null differ diff --git a/doc/html/_images/dump1.jpg b/doc/html/_images/dump1.jpg deleted file mode 100644 index 6068ba017c23a27a34db8e0aece68061252a4088..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dump1.jpg and /dev/null differ diff --git a/doc/html/_images/dump2.jpg b/doc/html/_images/dump2.jpg deleted file mode 100644 index bd0d573e1a255038e830b15dea05382b38c19d5e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/dump2.jpg and /dev/null differ diff --git a/doc/html/_images/eff_ECP1.jpg b/doc/html/_images/eff_ECP1.jpg deleted file mode 100644 index 3b8a3f8ff39ace5ad9c37d8ac6ada08077bf575d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/eff_ECP1.jpg and /dev/null differ diff --git a/doc/html/_images/eff_ECP2.jpg b/doc/html/_images/eff_ECP2.jpg deleted file mode 100644 index 195ed55e4381a7752475ee37c20276c9cc57df64..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/eff_ECP2.jpg and /dev/null differ diff --git a/doc/html/_images/eff_KE.jpg b/doc/html/_images/eff_KE.jpg deleted file mode 100644 index 40eed0df65cd5bb2ebb2f0d17f8bac8d690269eb..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/eff_KE.jpg and /dev/null differ diff --git a/doc/html/_images/eff_NN.jpg b/doc/html/_images/eff_NN.jpg deleted file mode 100644 index c3c52e19b41e2bbf058e2dea7809c6410c2c9ba0..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/eff_NN.jpg and /dev/null differ diff --git a/doc/html/_images/eff_Ne.jpg b/doc/html/_images/eff_Ne.jpg deleted file mode 100644 index e23ceacc8855bf154baa579a387c49ea4f3193d9..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/eff_Ne.jpg and /dev/null differ diff --git a/doc/html/_images/eff_Pauli.jpg b/doc/html/_images/eff_Pauli.jpg deleted file mode 100644 index 61bb8652e390a0970aed8727753dd6a248ec9733..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/eff_Pauli.jpg and /dev/null differ diff --git a/doc/html/_images/eff_ee.jpg b/doc/html/_images/eff_ee.jpg deleted file mode 100644 index aef84d0fd4301f4d6de46489764f86655411a325..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/eff_ee.jpg and /dev/null differ diff --git a/doc/html/_images/eff_energy_expression.jpg b/doc/html/_images/eff_energy_expression.jpg deleted file mode 100644 index e06fe8ff2f73d5b0f2b34e8b0651919486686bd6..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/eff_energy_expression.jpg and /dev/null differ diff --git a/doc/html/_images/fix_box_relax1.jpg b/doc/html/_images/fix_box_relax1.jpg deleted file mode 100644 index d425526046e14d2757882564421d996aa944efb0..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_box_relax1.jpg and /dev/null differ diff --git a/doc/html/_images/fix_box_relax2.jpg b/doc/html/_images/fix_box_relax2.jpg deleted file mode 100644 index 8fac42e0fa8305c2deb45e5043f865c3a9e35134..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_box_relax2.jpg and /dev/null differ diff --git a/doc/html/_images/fix_controller1.jpg b/doc/html/_images/fix_controller1.jpg deleted file mode 100644 index 25f381543fda256370cc881e6b57e3b2fd38063b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_controller1.jpg and /dev/null differ diff --git a/doc/html/_images/fix_controller2.jpg b/doc/html/_images/fix_controller2.jpg deleted file mode 100644 index 178fd5a67eb618a0929d9b1d52be195221071797..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_controller2.jpg and /dev/null differ diff --git a/doc/html/_images/fix_ehex_eom.jpg b/doc/html/_images/fix_ehex_eom.jpg deleted file mode 100644 index 67fa7c092a8f24372f557f1fe086536a7d829b98..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_ehex_eom.jpg and /dev/null differ diff --git a/doc/html/_images/fix_ehex_f.jpg b/doc/html/_images/fix_ehex_f.jpg deleted file mode 100644 index b74a28d907d1682c3a95ba59cef84f6914ae7eba..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_ehex_f.jpg and /dev/null differ diff --git a/doc/html/_images/fix_eos-cv.jpg b/doc/html/_images/fix_eos-cv.jpg deleted file mode 100644 index 37eeac8e2dfdefc78688b40a5f64393296eb5810..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_eos-cv.jpg and /dev/null differ diff --git a/doc/html/_images/fix_eos_table_rx.jpg b/doc/html/_images/fix_eos_table_rx.jpg deleted file mode 100644 index 0172281b6ccfb25e31b923f8e0a2c7f027812caf..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_eos_table_rx.jpg and /dev/null differ diff --git a/doc/html/_images/fix_gld1.jpg b/doc/html/_images/fix_gld1.jpg deleted file mode 100644 index d54ce57a6c5398542f4e3a68cf0b89e039c5ecda..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_gld1.jpg and /dev/null differ diff --git a/doc/html/_images/fix_lb_fluid_boltzmann.jpg b/doc/html/_images/fix_lb_fluid_boltzmann.jpg deleted file mode 100644 index 9d82b40ecb009745f6b984f5092b42008a057380..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_lb_fluid_boltzmann.jpg and /dev/null differ diff --git a/doc/html/_images/fix_lb_fluid_fluidforce.jpg b/doc/html/_images/fix_lb_fluid_fluidforce.jpg deleted file mode 100644 index d3149616ca83c41015e7a5f4ad6d58aef98f8c2d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_lb_fluid_fluidforce.jpg and /dev/null differ diff --git a/doc/html/_images/fix_lb_fluid_gammadefault.jpg b/doc/html/_images/fix_lb_fluid_gammadefault.jpg deleted file mode 100644 index cd10239c9b366fcd33c079aaa7e0ad1c4ea0e829..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_lb_fluid_gammadefault.jpg and /dev/null differ diff --git a/doc/html/_images/fix_lb_fluid_navierstokes.jpg b/doc/html/_images/fix_lb_fluid_navierstokes.jpg deleted file mode 100644 index 0a1c10414120eed3ea5f2f82db596d7eb60b978b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_lb_fluid_navierstokes.jpg and /dev/null differ diff --git a/doc/html/_images/fix_lb_fluid_properties.jpg b/doc/html/_images/fix_lb_fluid_properties.jpg deleted file mode 100644 index 3d70cd7667461b8f4f8c96c5d271ad2662e88bb5..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_lb_fluid_properties.jpg and /dev/null differ diff --git a/doc/html/_images/fix_lb_fluid_stress.jpg b/doc/html/_images/fix_lb_fluid_stress.jpg deleted file mode 100644 index 8f730e9d70d773ed72f3e8814e22e776908edda0..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_lb_fluid_stress.jpg and /dev/null differ diff --git a/doc/html/_images/fix_lb_fluid_viscosity.jpg b/doc/html/_images/fix_lb_fluid_viscosity.jpg deleted file mode 100644 index 1816317ee6a908724a969464c4bcfbf85b44bd37..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_lb_fluid_viscosity.jpg and /dev/null differ diff --git a/doc/html/_images/fix_nh1.jpg b/doc/html/_images/fix_nh1.jpg deleted file mode 100644 index af07ea3a4b3a197d6b415937d1325a7c2a5a4a00..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_nh1.jpg and /dev/null differ diff --git a/doc/html/_images/fix_nphug.jpg b/doc/html/_images/fix_nphug.jpg deleted file mode 100644 index a3a67e7b7bebc1e987f0cc415288967337770f2e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_nphug.jpg and /dev/null differ diff --git a/doc/html/_images/fix_orient_fcc.jpg b/doc/html/_images/fix_orient_fcc.jpg deleted file mode 100644 index b22e6c9c2056cdc4e7a28d1fb327e867741eec85..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_orient_fcc.jpg and /dev/null differ diff --git a/doc/html/_images/fix_pimd.jpg b/doc/html/_images/fix_pimd.jpg deleted file mode 100644 index b6e8f5831b56a76003f81b74529d14e87405f8e9..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_pimd.jpg and /dev/null differ diff --git a/doc/html/_images/fix_rattle_constraints.jpg b/doc/html/_images/fix_rattle_constraints.jpg deleted file mode 100644 index 2ba86095cd3c3682160dedebb745413be563243b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_rattle_constraints.jpg and /dev/null differ diff --git a/doc/html/_images/fix_rattle_rij.jpg b/doc/html/_images/fix_rattle_rij.jpg deleted file mode 100644 index b08e2fe02e650dab39f5f9b09930e2baece5436e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_rattle_rij.jpg and /dev/null differ diff --git a/doc/html/_images/fix_rx.jpg b/doc/html/_images/fix_rx.jpg deleted file mode 100644 index d63b983230c0c26a7bf9c50b38593bdd65196a35..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_rx.jpg and /dev/null differ diff --git a/doc/html/_images/fix_rx_localTemp.jpg b/doc/html/_images/fix_rx_localTemp.jpg deleted file mode 100644 index 2b5147b93042028546e9fd67a3aec8e276d74ad7..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_rx_localTemp.jpg and /dev/null differ diff --git a/doc/html/_images/fix_rx_localTemp2.jpg b/doc/html/_images/fix_rx_localTemp2.jpg deleted file mode 100644 index c838d7d45302da5f69bc98293afb3307c9bef6cf..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_rx_localTemp2.jpg and /dev/null differ diff --git a/doc/html/_images/fix_rx_reaction.jpg b/doc/html/_images/fix_rx_reaction.jpg deleted file mode 100644 index e656cd8362ec846c0c1ebfc76f4bbe26934d4c32..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_rx_reaction.jpg and /dev/null differ diff --git a/doc/html/_images/fix_rx_reactionRate.jpg b/doc/html/_images/fix_rx_reactionRate.jpg deleted file mode 100644 index cf79c36089111d89b90c3e9688a6f2decb345209..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_rx_reactionRate.jpg and /dev/null differ diff --git a/doc/html/_images/fix_spring_rg.jpg b/doc/html/_images/fix_spring_rg.jpg deleted file mode 100644 index 313844f5557f18d84727692f9a2bb85428526b0f..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_spring_rg.jpg and /dev/null differ diff --git a/doc/html/_images/fix_ti_spring_force.jpg b/doc/html/_images/fix_ti_spring_force.jpg deleted file mode 100644 index 584535a1bc7ec4c5b81a0af7a9952252bb2430fc..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_ti_spring_force.jpg and /dev/null differ diff --git a/doc/html/_images/fix_ti_spring_function_1.jpg b/doc/html/_images/fix_ti_spring_function_1.jpg deleted file mode 100644 index ef2698f34bd8a8eb42eea97f715e7dee6a8472f5..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_ti_spring_function_1.jpg and /dev/null differ diff --git a/doc/html/_images/fix_ti_spring_function_2.jpg b/doc/html/_images/fix_ti_spring_function_2.jpg deleted file mode 100644 index 6f12b90c78ab76f17bdd1bf3c7961e324464afc2..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_ti_spring_function_2.jpg and /dev/null differ diff --git a/doc/html/_images/fix_ttm.jpg b/doc/html/_images/fix_ttm.jpg deleted file mode 100644 index 8d9fac3fed5340a7a37c19f213bf45f051561f2c..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_ttm.jpg and /dev/null differ diff --git a/doc/html/_images/fix_ttm_blast.jpg b/doc/html/_images/fix_ttm_blast.jpg deleted file mode 100644 index d4ffe05f129715572923fcd32c547b64aee902f1..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_ttm_blast.jpg and /dev/null differ diff --git a/doc/html/_images/fix_ttm_blast1.jpg b/doc/html/_images/fix_ttm_blast1.jpg deleted file mode 100644 index 1106c627cbdc5c8d48cf9272513c799e4e65524a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_ttm_blast1.jpg and /dev/null differ diff --git a/doc/html/_images/fix_ttm_ce.jpg b/doc/html/_images/fix_ttm_ce.jpg deleted file mode 100644 index 4f439e31e6b22ed3268e19d3d06852801812f93a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_ttm_ce.jpg and /dev/null differ diff --git a/doc/html/_images/fix_ttm_mod.jpg b/doc/html/_images/fix_ttm_mod.jpg deleted file mode 100644 index 7cc67200f96bae3be7633d8d0c52ed76eabd1474..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_ttm_mod.jpg and /dev/null differ diff --git a/doc/html/_images/fix_wall_colloid.jpg b/doc/html/_images/fix_wall_colloid.jpg deleted file mode 100644 index 8168d3a792d2e4dbf7d4df3e767771f61a57da84..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_wall_colloid.jpg and /dev/null differ diff --git a/doc/html/_images/fix_wall_harmonic.jpg b/doc/html/_images/fix_wall_harmonic.jpg deleted file mode 100644 index 3c605690c36bf09017f735f8d933fbfed80c68a2..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_wall_harmonic.jpg and /dev/null differ diff --git a/doc/html/_images/fix_wall_lj1043.jpg b/doc/html/_images/fix_wall_lj1043.jpg deleted file mode 100644 index 303743bf3e84dd0631cc4f1976aea6eaeaf90a26..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_wall_lj1043.jpg and /dev/null differ diff --git a/doc/html/_images/fix_wall_lj93.jpg b/doc/html/_images/fix_wall_lj93.jpg deleted file mode 100644 index 18e502cfbfeb8b63f4b9b0df3558f8192058273f..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fix_wall_lj93.jpg and /dev/null differ diff --git a/doc/html/_images/fld.jpg b/doc/html/_images/fld.jpg deleted file mode 100644 index 3d80d436ffa47e137361b1d6e850c9dc3cc4cd7b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fld.jpg and /dev/null differ diff --git a/doc/html/_images/fld2.jpg b/doc/html/_images/fld2.jpg deleted file mode 100644 index 42de943c900919130becb8113b83bd44b8f2d351..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/fld2.jpg and /dev/null differ diff --git a/doc/html/_images/heat_flux_J.jpg b/doc/html/_images/heat_flux_J.jpg deleted file mode 100644 index cf3e220caa965252ab836dda7346606e1d4782f0..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/heat_flux_J.jpg and /dev/null differ diff --git a/doc/html/_images/heat_flux_k.jpg b/doc/html/_images/heat_flux_k.jpg deleted file mode 100644 index 2fd4a19e5abb0ab687ff12f52b17caa81f4888fb..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/heat_flux_k.jpg and /dev/null differ diff --git a/doc/html/_images/hexorder.jpg b/doc/html/_images/hexorder.jpg deleted file mode 100644 index dafa25cabec6733d1f5714501df3098b937a50a5..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/hexorder.jpg and /dev/null differ diff --git a/doc/html/_images/hop1.jpg b/doc/html/_images/hop1.jpg deleted file mode 100644 index cc0f2dbf5a23d9573a3ff97b3659b4fc5a1ebb79..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/hop1.jpg and /dev/null differ diff --git a/doc/html/_images/hop2.jpg b/doc/html/_images/hop2.jpg deleted file mode 100644 index 579e7d87e8d0446af4fd6f7344925d468d944c50..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/hop2.jpg and /dev/null differ diff --git a/doc/html/_images/improper_class2.jpg b/doc/html/_images/improper_class2.jpg deleted file mode 100644 index ca0604f8d7b629101ef9b829aa64209270ab5ae5..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/improper_class2.jpg and /dev/null differ diff --git a/doc/html/_images/improper_cossq.jpg b/doc/html/_images/improper_cossq.jpg deleted file mode 100644 index bddcb3d867d3e5fae6ccae6469ea35e9ee1ecc26..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/improper_cossq.jpg and /dev/null differ diff --git a/doc/html/_images/improper_cvff.jpg b/doc/html/_images/improper_cvff.jpg deleted file mode 100644 index 14be3ffa03747baff07b70f075e96476f0163424..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/improper_cvff.jpg and /dev/null differ diff --git a/doc/html/_images/improper_dist-1.jpg b/doc/html/_images/improper_dist-1.jpg deleted file mode 100644 index aeb761bfbb06392d4cbcf4d9b1b95bce159706ad..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/improper_dist-1.jpg and /dev/null differ diff --git a/doc/html/_images/improper_distance.jpg b/doc/html/_images/improper_distance.jpg deleted file mode 100644 index ce58436b60930425cbd7df4dc87c0cac12a78683..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/improper_distance.jpg and /dev/null differ diff --git a/doc/html/_images/improper_fourier.jpg b/doc/html/_images/improper_fourier.jpg deleted file mode 100644 index 0a1b13baf88846f0b1807e3b28a11b1abea383fb..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/improper_fourier.jpg and /dev/null differ diff --git a/doc/html/_images/improper_harmonic.jpg b/doc/html/_images/improper_harmonic.jpg deleted file mode 100644 index c2c1eb466379afa2268f0c2ec23990b9263388d7..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/improper_harmonic.jpg and /dev/null differ diff --git a/doc/html/_images/improper_ring.jpg b/doc/html/_images/improper_ring.jpg deleted file mode 100644 index 81a79f7ce50c081273ceada3e430fdbbdc1c63c4..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/improper_ring.jpg and /dev/null differ diff --git a/doc/html/_images/improper_umbrella.jpg b/doc/html/_images/improper_umbrella.jpg deleted file mode 100644 index 8d6cbf81e708d49d2fe4155a347dded5f4d14c61..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/improper_umbrella.jpg and /dev/null differ diff --git a/doc/html/_images/lj_soft.jpg b/doc/html/_images/lj_soft.jpg deleted file mode 100644 index 47c6a04b9183d3af54795000ccde6732c6f075d6..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/lj_soft.jpg and /dev/null differ diff --git a/doc/html/_images/min_energy.jpg b/doc/html/_images/min_energy.jpg deleted file mode 100644 index 7925d268ace4632bbff08dbb1185173a104000e1..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/min_energy.jpg and /dev/null differ diff --git a/doc/html/_images/offload_knc.png b/doc/html/_images/offload_knc.png deleted file mode 100644 index 0c4028a08d0bdae8d4c826f0b0bc96e1f40a5607..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/offload_knc.png and /dev/null differ diff --git a/doc/html/_images/orientorder.jpg b/doc/html/_images/orientorder.jpg deleted file mode 100644 index 5ec79964f04e84335cd6a1d738a7bcbef2a6a9e0..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/orientorder.jpg and /dev/null differ diff --git a/doc/html/_images/pair_adp.jpg b/doc/html/_images/pair_adp.jpg deleted file mode 100644 index accae4716e01505ab7bb434125d9c1997e6ee3c8..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_adp.jpg and /dev/null differ diff --git a/doc/html/_images/pair_airebo.jpg b/doc/html/_images/pair_airebo.jpg deleted file mode 100644 index a3259879f1689af00465286b11d3b17145a2fd4a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_airebo.jpg and /dev/null differ diff --git a/doc/html/_images/pair_beck.jpg b/doc/html/_images/pair_beck.jpg deleted file mode 100644 index a6da8a87d1c5f38313d1d35df5fdc618056f2ace..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_beck.jpg and /dev/null differ diff --git a/doc/html/_images/pair_bop.jpg b/doc/html/_images/pair_bop.jpg deleted file mode 100644 index d1fbb14b097300afb37ad2a7f610e7e145c7bf99..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_bop.jpg and /dev/null differ diff --git a/doc/html/_images/pair_born.jpg b/doc/html/_images/pair_born.jpg deleted file mode 100644 index 5e6b6a729b50218fc5d37943261964bf478b04fe..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_born.jpg and /dev/null differ diff --git a/doc/html/_images/pair_buck.jpg b/doc/html/_images/pair_buck.jpg deleted file mode 100644 index aaa5f7659adf9819c8503937c4e968c0f94f7d7e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_buck.jpg and /dev/null differ diff --git a/doc/html/_images/pair_charmm.jpg b/doc/html/_images/pair_charmm.jpg deleted file mode 100644 index 7d6c709ce51a7876977743fde09c00f355daa02d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_charmm.jpg and /dev/null differ diff --git a/doc/html/_images/pair_class2.jpg b/doc/html/_images/pair_class2.jpg deleted file mode 100644 index abec072e79a568dbb037ea17857ba0dd3f2ca01e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_class2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_cmm.jpg b/doc/html/_images/pair_cmm.jpg deleted file mode 100644 index 1ec60f7305c5796a10ee6f6741e8e7cc69c2660a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_cmm.jpg and /dev/null differ diff --git a/doc/html/_images/pair_colloid_cc.jpg b/doc/html/_images/pair_colloid_cc.jpg deleted file mode 100644 index a64094ddad62c90cbdb547a8fe32a0727f421041..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_colloid_cc.jpg and /dev/null differ diff --git a/doc/html/_images/pair_colloid_cs.jpg b/doc/html/_images/pair_colloid_cs.jpg deleted file mode 100644 index 8f5948fa54802fdd4cad392f011f26cd0126ea31..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_colloid_cs.jpg and /dev/null differ diff --git a/doc/html/_images/pair_colloid_ss.jpg b/doc/html/_images/pair_colloid_ss.jpg deleted file mode 100644 index 4ce19ba1e8231b00e86db7e8fb9eb95ca6ac5167..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_colloid_ss.jpg and /dev/null differ diff --git a/doc/html/_images/pair_comb1.jpg b/doc/html/_images/pair_comb1.jpg deleted file mode 100644 index e0711ca97270e5a5d5b1c9402baec97e6fac8728..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_comb1.jpg and /dev/null differ diff --git a/doc/html/_images/pair_comb2.jpg b/doc/html/_images/pair_comb2.jpg deleted file mode 100644 index 8b0e5ba51aca49633cbc7c5a572af8c131c85701..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_comb2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_coul_diel.jpg b/doc/html/_images/pair_coul_diel.jpg deleted file mode 100644 index 70cb84f7a586af34260e7ba9e8df2d61ac26c600..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_coul_diel.jpg and /dev/null differ diff --git a/doc/html/_images/pair_coul_dsf.jpg b/doc/html/_images/pair_coul_dsf.jpg deleted file mode 100644 index a891b3ad155a55d02824d33d8cb43c729ae4c794..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_coul_dsf.jpg and /dev/null differ diff --git a/doc/html/_images/pair_coul_soft.jpg b/doc/html/_images/pair_coul_soft.jpg deleted file mode 100644 index dad9c745ba6bbb555427ca7b6fb448bc2853caed..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_coul_soft.jpg and /dev/null differ diff --git a/doc/html/_images/pair_coul_wolf.jpg b/doc/html/_images/pair_coul_wolf.jpg deleted file mode 100644 index fd64cb6c03e49252b176336073475cb073dc77da..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_coul_wolf.jpg and /dev/null differ diff --git a/doc/html/_images/pair_coulomb.jpg b/doc/html/_images/pair_coulomb.jpg deleted file mode 100644 index 39aaebac3116157f2e61362001adf43e29606137..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_coulomb.jpg and /dev/null differ diff --git a/doc/html/_images/pair_cs.jpg b/doc/html/_images/pair_cs.jpg deleted file mode 100644 index b870a3bdf4617f353a739d0d7148dd27ac02669e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_cs.jpg and /dev/null differ diff --git a/doc/html/_images/pair_debye.jpg b/doc/html/_images/pair_debye.jpg deleted file mode 100644 index 42bcb5cc6310c4c6debaece1e50d6f0c9bebc597..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_debye.jpg and /dev/null differ diff --git a/doc/html/_images/pair_dipole.jpg b/doc/html/_images/pair_dipole.jpg deleted file mode 100644 index e106c17c91d1233ddb03001ea699c062b320f075..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_dipole.jpg and /dev/null differ diff --git a/doc/html/_images/pair_dipole_sf.jpg b/doc/html/_images/pair_dipole_sf.jpg deleted file mode 100644 index c591534550cf5c6a437f1fedf8ad695b6b4f7eb8..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_dipole_sf.jpg and /dev/null differ diff --git a/doc/html/_images/pair_dipole_sf2.jpg b/doc/html/_images/pair_dipole_sf2.jpg deleted file mode 100644 index b9e57becf646322c2579b5dbb32f55db56ccb12c..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_dipole_sf2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_dpd.jpg b/doc/html/_images/pair_dpd.jpg deleted file mode 100644 index e9bb8a69afe395db9e096a798b54f660b0118489..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_dpd.jpg and /dev/null differ diff --git a/doc/html/_images/pair_dpd_conservative.jpg b/doc/html/_images/pair_dpd_conservative.jpg deleted file mode 100644 index aa0006caa2afb598fdca2b0ea55a683a1785031c..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_dpd_conservative.jpg and /dev/null differ diff --git a/doc/html/_images/pair_dpd_omega.jpg b/doc/html/_images/pair_dpd_omega.jpg deleted file mode 100644 index fd25f00f19d4de104d4e0c938505e17afd1d5fc8..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_dpd_omega.jpg and /dev/null differ diff --git a/doc/html/_images/pair_eam.jpg b/doc/html/_images/pair_eam.jpg deleted file mode 100644 index 95c86b4ced0040004431c39e7ab46a71e790dd87..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_eam.jpg and /dev/null differ diff --git a/doc/html/_images/pair_eam_fs.jpg b/doc/html/_images/pair_eam_fs.jpg deleted file mode 100644 index fa72f8fc73df4b01b43499f16f8669adeb3cdc33..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_eam_fs.jpg and /dev/null differ diff --git a/doc/html/_images/pair_edip.jpg b/doc/html/_images/pair_edip.jpg deleted file mode 100644 index 3933280480b722cfe06972d28bd00683d28ed8b9..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_edip.jpg and /dev/null differ diff --git a/doc/html/_images/pair_eim1.jpg b/doc/html/_images/pair_eim1.jpg deleted file mode 100644 index c243120b2a2076fa45697cbf10d05927295f6d98..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_eim1.jpg and /dev/null differ diff --git a/doc/html/_images/pair_eim2.jpg b/doc/html/_images/pair_eim2.jpg deleted file mode 100644 index 4896f658f12447bbcb5f9a9eb606a3f096e1766b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_eim2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_eim3.jpg b/doc/html/_images/pair_eim3.jpg deleted file mode 100644 index 57366bc15dbfdd4cee3c44c5def0f550dff621ed..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_eim3.jpg and /dev/null differ diff --git a/doc/html/_images/pair_exp6_rx.jpg b/doc/html/_images/pair_exp6_rx.jpg deleted file mode 100644 index 6ee321ea6d2dc2076758cef1bbf7882ba251a860..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_exp6_rx.jpg and /dev/null differ diff --git a/doc/html/_images/pair_exp6_rx_oneFluid.jpg b/doc/html/_images/pair_exp6_rx_oneFluid.jpg deleted file mode 100644 index 5059c02e90a452957819e292e921df4e9c98b6ba..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_exp6_rx_oneFluid.jpg and /dev/null differ diff --git a/doc/html/_images/pair_exp6_rx_oneFluid2.jpg b/doc/html/_images/pair_exp6_rx_oneFluid2.jpg deleted file mode 100644 index 7144aea4f444f22835cfc60c9a2fad94d4e25ef6..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_exp6_rx_oneFluid2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_gauss.jpg b/doc/html/_images/pair_gauss.jpg deleted file mode 100644 index 97c2f0ecb2d16e84875c093259223fd5911328b0..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_gauss.jpg and /dev/null differ diff --git a/doc/html/_images/pair_gauss_cut.jpg b/doc/html/_images/pair_gauss_cut.jpg deleted file mode 100644 index e47bb8cc06fda012f22f45d9ecb3829dcfd78751..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_gauss_cut.jpg and /dev/null differ diff --git a/doc/html/_images/pair_gayberne.jpg b/doc/html/_images/pair_gayberne.jpg deleted file mode 100644 index e9b1f3ca93c3f47645ef4cc12314af6bf1cdfbb9..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_gayberne.jpg and /dev/null differ diff --git a/doc/html/_images/pair_gayberne2.jpg b/doc/html/_images/pair_gayberne2.jpg deleted file mode 100644 index a4e6c6f70fd0dd78b747113a409e29378d3ae14e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_gayberne2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_gran_hertz.jpg b/doc/html/_images/pair_gran_hertz.jpg deleted file mode 100644 index 733875fee6481248eddb039ee629243f3bf0edc3..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_gran_hertz.jpg and /dev/null differ diff --git a/doc/html/_images/pair_gran_hooke.jpg b/doc/html/_images/pair_gran_hooke.jpg deleted file mode 100644 index 36f34db6c6292af35a8f63c76dbf1b9396c631cf..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_gran_hooke.jpg and /dev/null differ diff --git a/doc/html/_images/pair_gromacs.jpg b/doc/html/_images/pair_gromacs.jpg deleted file mode 100644 index 885c059e65f28d4b9db925fd9a0320988736bfaf..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_gromacs.jpg and /dev/null differ diff --git a/doc/html/_images/pair_hbond_dreiding.jpg b/doc/html/_images/pair_hbond_dreiding.jpg deleted file mode 100644 index b93044ed311457422e40d29494b7df4dae3368fe..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_hbond_dreiding.jpg and /dev/null differ diff --git a/doc/html/_images/pair_lj.jpg b/doc/html/_images/pair_lj.jpg deleted file mode 100644 index 49cf7f5eb991ebda778ef2d740dbf1ecef617271..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_lj.jpg and /dev/null differ diff --git a/doc/html/_images/pair_lj96.jpg b/doc/html/_images/pair_lj96.jpg deleted file mode 100644 index 6462de180e622b6c8eb862be10fe58a52fbe5797..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_lj96.jpg and /dev/null differ diff --git a/doc/html/_images/pair_lj_cubic.jpg b/doc/html/_images/pair_lj_cubic.jpg deleted file mode 100644 index 69ec4f6e84a0d6c85ec97f6519bd5196ad9ecb89..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_lj_cubic.jpg and /dev/null differ diff --git a/doc/html/_images/pair_lj_expand.jpg b/doc/html/_images/pair_lj_expand.jpg deleted file mode 100644 index e2748188928fa2ed44f01352aeb9df508ceb8c0e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_lj_expand.jpg and /dev/null differ diff --git a/doc/html/_images/pair_lj_sf.jpg b/doc/html/_images/pair_lj_sf.jpg deleted file mode 100644 index a702240003cd4e1bd5043fc5e6a523998fadf8de..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_lj_sf.jpg and /dev/null differ diff --git a/doc/html/_images/pair_lj_smooth.jpg b/doc/html/_images/pair_lj_smooth.jpg deleted file mode 100644 index d380fd345c9d8a41094ede9e2d12f92192fb9d4d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_lj_smooth.jpg and /dev/null differ diff --git a/doc/html/_images/pair_lj_smooth_linear.jpg b/doc/html/_images/pair_lj_smooth_linear.jpg deleted file mode 100644 index b0626abae1199aec35611c9974f7d63ece5b768a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_lj_smooth_linear.jpg and /dev/null differ diff --git a/doc/html/_images/pair_lj_soft.jpg b/doc/html/_images/pair_lj_soft.jpg deleted file mode 100644 index 856d6d5bbcbe8650485145a16256e55574c82b73..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_lj_soft.jpg and /dev/null differ diff --git a/doc/html/_images/pair_lubricate.jpg b/doc/html/_images/pair_lubricate.jpg deleted file mode 100644 index 560591765aed90667382db0a646590a095f66e7d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_lubricate.jpg and /dev/null differ diff --git a/doc/html/_images/pair_mdf-1.jpg b/doc/html/_images/pair_mdf-1.jpg deleted file mode 100644 index fb0d9d644f6fc10830f207768f6a29c7d3386ad2..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_mdf-1.jpg and /dev/null differ diff --git a/doc/html/_images/pair_mdf-2.jpg b/doc/html/_images/pair_mdf-2.jpg deleted file mode 100644 index ae6358e5cc2d62ebed38b5b4fa2c9642ec5bd978..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_mdf-2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_mdf-3.jpg b/doc/html/_images/pair_mdf-3.jpg deleted file mode 100644 index 45a1a68e05d2247ec6ee98b2ec147b237e309f2b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_mdf-3.jpg and /dev/null differ diff --git a/doc/html/_images/pair_mdf-4.jpg b/doc/html/_images/pair_mdf-4.jpg deleted file mode 100644 index 05d08c01a0f0893ee49195a3077842391f127b3d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_mdf-4.jpg and /dev/null differ diff --git a/doc/html/_images/pair_mdf-5.jpg b/doc/html/_images/pair_mdf-5.jpg deleted file mode 100644 index 9e047a50a8da555abb9fe8568e4cb7fd031aff73..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_mdf-5.jpg and /dev/null differ diff --git a/doc/html/_images/pair_mdf-6.jpg b/doc/html/_images/pair_mdf-6.jpg deleted file mode 100644 index 54a08b25d6ee7ac64d947c8ee8f90cadc0d210c1..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_mdf-6.jpg and /dev/null differ diff --git a/doc/html/_images/pair_meam.jpg b/doc/html/_images/pair_meam.jpg deleted file mode 100644 index f6de50a9989120e603e9246c25547c8cef56ba12..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_meam.jpg and /dev/null differ diff --git a/doc/html/_images/pair_meam_spline.jpg b/doc/html/_images/pair_meam_spline.jpg deleted file mode 100644 index 29f1c7254365939cc3e496ac40767b5a4a54a6a6..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_meam_spline.jpg and /dev/null differ diff --git a/doc/html/_images/pair_meam_sw_spline.jpg b/doc/html/_images/pair_meam_sw_spline.jpg deleted file mode 100644 index 80078999d755e2f01cb0b9bde812bd00361cb222..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_meam_sw_spline.jpg and /dev/null differ diff --git a/doc/html/_images/pair_mgpt.jpg b/doc/html/_images/pair_mgpt.jpg deleted file mode 100644 index 2bede7f90f603e9c280e24fca18b376d4f8281a0..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_mgpt.jpg and /dev/null differ diff --git a/doc/html/_images/pair_mie.jpg b/doc/html/_images/pair_mie.jpg deleted file mode 100644 index 05a8221a93d0da58ea50fe1bbfe090dddd3029bd..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_mie.jpg and /dev/null differ diff --git a/doc/html/_images/pair_mie2.jpg b/doc/html/_images/pair_mie2.jpg deleted file mode 100644 index 216ca1554a618109dee3f5b4c3170d37d8ce8019..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_mie2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_morse.jpg b/doc/html/_images/pair_morse.jpg deleted file mode 100644 index 5ebcdb2e1d952c3abcc7ce9b3e89a82524b52b63..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_morse.jpg and /dev/null differ diff --git a/doc/html/_images/pair_morse_smooth_linear.jpg b/doc/html/_images/pair_morse_smooth_linear.jpg deleted file mode 100644 index b9510236093da3a86ce2446f5c142570a99a0272..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_morse_smooth_linear.jpg and /dev/null differ diff --git a/doc/html/_images/pair_morse_soft.jpg b/doc/html/_images/pair_morse_soft.jpg deleted file mode 100644 index 9c8321eba798943de9ad293f80e95d946e872f95..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_morse_soft.jpg and /dev/null differ diff --git a/doc/html/_images/pair_multi_lucy.jpg b/doc/html/_images/pair_multi_lucy.jpg deleted file mode 100644 index b73cc692360d1d069fdccbd29d4af6641fc2086e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_multi_lucy.jpg and /dev/null differ diff --git a/doc/html/_images/pair_multi_lucy2.jpg b/doc/html/_images/pair_multi_lucy2.jpg deleted file mode 100644 index 2edf0b56fd52f42db984afdf77e49ee6f92c778c..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_multi_lucy2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_multi_lucy_energy.jpg b/doc/html/_images/pair_multi_lucy_energy.jpg deleted file mode 100644 index 4cd5251b6ea140e73ecc64a849129f0b0b07b9a3..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_multi_lucy_energy.jpg and /dev/null differ diff --git a/doc/html/_images/pair_nb3b_harmonic.jpg b/doc/html/_images/pair_nb3b_harmonic.jpg deleted file mode 100644 index c8d23da042ed63d5c8f173876396112b3cf728c1..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_nb3b_harmonic.jpg and /dev/null differ diff --git a/doc/html/_images/pair_nm.jpg b/doc/html/_images/pair_nm.jpg deleted file mode 100644 index 1e7fe0981c9e35855471a040ba5a83c38fb0fa37..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_nm.jpg and /dev/null differ diff --git a/doc/html/_images/pair_resquared.jpg b/doc/html/_images/pair_resquared.jpg deleted file mode 100644 index c290c68dfd449f25eb697e016014edda76cc7a99..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_resquared.jpg and /dev/null differ diff --git a/doc/html/_images/pair_resquared2.jpg b/doc/html/_images/pair_resquared2.jpg deleted file mode 100644 index d2ed21a62a6025c7932b025b65e483adcea41fd1..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_resquared2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_resquared3.jpg b/doc/html/_images/pair_resquared3.jpg deleted file mode 100644 index 3916062a1caf7b8157e49966053473dc56161ef2..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_resquared3.jpg and /dev/null differ diff --git a/doc/html/_images/pair_resquared4.jpg b/doc/html/_images/pair_resquared4.jpg deleted file mode 100644 index 79ad067fa7ee10c9217edbc13981317ac16b5b81..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_resquared4.jpg and /dev/null differ diff --git a/doc/html/_images/pair_smtbq1.jpg b/doc/html/_images/pair_smtbq1.jpg deleted file mode 100644 index 6bfb07b778e85652a1579691f0b2b2065ba598ca..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_smtbq1.jpg and /dev/null differ diff --git a/doc/html/_images/pair_smtbq2.jpg b/doc/html/_images/pair_smtbq2.jpg deleted file mode 100644 index 0e20248788bf660f74e607f7e546deb8c9503b74..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_smtbq2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_smtbq3.jpg b/doc/html/_images/pair_smtbq3.jpg deleted file mode 100644 index 1d6045916581e75afcde27d92425cc02bb07804e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_smtbq3.jpg and /dev/null differ diff --git a/doc/html/_images/pair_snap.jpg b/doc/html/_images/pair_snap.jpg deleted file mode 100644 index af48357b5eabeced727b88edbad4d32eb147093b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_snap.jpg and /dev/null differ diff --git a/doc/html/_images/pair_soft.jpg b/doc/html/_images/pair_soft.jpg deleted file mode 100644 index e8a654e1edd020fb51c06c1973a5396621ad0ca1..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_soft.jpg and /dev/null differ diff --git a/doc/html/_images/pair_sph_ideal.jpg b/doc/html/_images/pair_sph_ideal.jpg deleted file mode 100644 index 370b75fe940e03d9cc2477d429c589afa6c55398..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_sph_ideal.jpg and /dev/null differ diff --git a/doc/html/_images/pair_sph_tait.jpg b/doc/html/_images/pair_sph_tait.jpg deleted file mode 100644 index 8bbfe805124b146b015f9baf79b46359b252242c..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_sph_tait.jpg and /dev/null differ diff --git a/doc/html/_images/pair_srp1.jpg b/doc/html/_images/pair_srp1.jpg deleted file mode 100644 index bbbdc43e059778ea54c2d297deade4cd99f735f5..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_srp1.jpg and /dev/null differ diff --git a/doc/html/_images/pair_srp2.jpg b/doc/html/_images/pair_srp2.jpg deleted file mode 100644 index c5d20dc212782398d5130d026444315148d1866b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_srp2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_sw.jpg b/doc/html/_images/pair_sw.jpg deleted file mode 100644 index f60f07fd27d233eb6e5446aad7c3c42fd6f1bfb5..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_sw.jpg and /dev/null differ diff --git a/doc/html/_images/pair_tersoff_1.jpg b/doc/html/_images/pair_tersoff_1.jpg deleted file mode 100644 index 79600b499c33addbdf11e16602f2867fb02f2b4f..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_tersoff_1.jpg and /dev/null differ diff --git a/doc/html/_images/pair_tersoff_2.jpg b/doc/html/_images/pair_tersoff_2.jpg deleted file mode 100644 index 6cb8778a094253cc38776e110baef3e89948b75b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_tersoff_2.jpg and /dev/null differ diff --git a/doc/html/_images/pair_tersoff_mod.jpg b/doc/html/_images/pair_tersoff_mod.jpg deleted file mode 100644 index 2618943d85d79e82873253fea293fb98c4d5ac21..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_tersoff_mod.jpg and /dev/null differ diff --git a/doc/html/_images/pair_tersoff_zbl.jpg b/doc/html/_images/pair_tersoff_zbl.jpg deleted file mode 100644 index 20d60d225689e11d7f347cfec1106a6e2356da05..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_tersoff_zbl.jpg and /dev/null differ diff --git a/doc/html/_images/pair_vashishta.jpg b/doc/html/_images/pair_vashishta.jpg deleted file mode 100644 index ca5f118a874cb28836144855edb1b60662528726..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_vashishta.jpg and /dev/null differ diff --git a/doc/html/_images/pair_yukawa.jpg b/doc/html/_images/pair_yukawa.jpg deleted file mode 100644 index 103edc604321d02e39545dd4e55acac3884edc8c..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_yukawa.jpg and /dev/null differ diff --git a/doc/html/_images/pair_yukawa_colloid.jpg b/doc/html/_images/pair_yukawa_colloid.jpg deleted file mode 100644 index 1d836247574039b3451b84950e5e86bee6e6f13a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_yukawa_colloid.jpg and /dev/null differ diff --git a/doc/html/_images/pair_zbl.jpg b/doc/html/_images/pair_zbl.jpg deleted file mode 100644 index 88656af5eb4f6ef617e1bc400e6f4eb894da4695..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pair_zbl.jpg and /dev/null differ diff --git a/doc/html/_images/pimd.jpg b/doc/html/_images/pimd.jpg deleted file mode 100644 index f26764e6087767920bd919522170d4bafee57df0..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pimd.jpg and /dev/null differ diff --git a/doc/html/_images/polymorphic1.jpg b/doc/html/_images/polymorphic1.jpg deleted file mode 100644 index 4757cb7ad8d14a06a5d3eba914fce459758a59e0..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/polymorphic1.jpg and /dev/null differ diff --git a/doc/html/_images/polymorphic2.jpg b/doc/html/_images/polymorphic2.jpg deleted file mode 100644 index 05133f484964a91c440fc096395e3ec71a2316bd..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/polymorphic2.jpg and /dev/null differ diff --git a/doc/html/_images/polymorphic3.jpg b/doc/html/_images/polymorphic3.jpg deleted file mode 100644 index ba748e63c50c4df580dba962a6bd2ae70904ffed..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/polymorphic3.jpg and /dev/null differ diff --git a/doc/html/_images/polymorphic4.jpg b/doc/html/_images/polymorphic4.jpg deleted file mode 100644 index 7a094d6a21757fa46d0a759570953e83578bf0c2..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/polymorphic4.jpg and /dev/null differ diff --git a/doc/html/_images/polymorphic5.jpg b/doc/html/_images/polymorphic5.jpg deleted file mode 100644 index 500238b2a9b5b96c752cc3a8e3e260624d8111a1..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/polymorphic5.jpg and /dev/null differ diff --git a/doc/html/_images/polymorphic6.jpg b/doc/html/_images/polymorphic6.jpg deleted file mode 100644 index 65ea78bf21e297bd19da05f8f5736dbd46b442ba..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/polymorphic6.jpg and /dev/null differ diff --git a/doc/html/_images/polymorphic7.jpg b/doc/html/_images/polymorphic7.jpg deleted file mode 100644 index 0749d537dd2cec1c084e6e5ae9dd81a7c50b7d05..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/polymorphic7.jpg and /dev/null differ diff --git a/doc/html/_images/polymorphic8.jpg b/doc/html/_images/polymorphic8.jpg deleted file mode 100644 index f88d486a53a70d6cdcdc4463be5762285049764a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/polymorphic8.jpg and /dev/null differ diff --git a/doc/html/_images/polymorphic9.jpg b/doc/html/_images/polymorphic9.jpg deleted file mode 100644 index e538487c905f17c9d2b79efdcd1b0bb823206525..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/polymorphic9.jpg and /dev/null differ diff --git a/doc/html/_images/pressure.jpg b/doc/html/_images/pressure.jpg deleted file mode 100644 index 0ed67477566679e5772a36ffd71729e23477d8c3..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pressure.jpg and /dev/null differ diff --git a/doc/html/_images/pressure_tensor.jpg b/doc/html/_images/pressure_tensor.jpg deleted file mode 100644 index b5abf0ce4a89226a842534d51139e79575b6c902..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/pressure_tensor.jpg and /dev/null differ diff --git a/doc/html/_images/qbmsst_init.jpg b/doc/html/_images/qbmsst_init.jpg deleted file mode 100644 index ab1baea98d145a99a6cbadda220796cbb86b94ec..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/qbmsst_init.jpg and /dev/null differ diff --git a/doc/html/_images/qbmsst_shock.jpg b/doc/html/_images/qbmsst_shock.jpg deleted file mode 100644 index b4e663fd85f6d959cd2f2c6b69d521033ce5756e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/qbmsst_shock.jpg and /dev/null differ diff --git a/doc/html/_images/rhodo_staggered.jpg b/doc/html/_images/rhodo_staggered.jpg deleted file mode 100644 index 423c0f2c45805495120ef309b64095c5843a5f40..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/rhodo_staggered.jpg and /dev/null differ diff --git a/doc/html/_images/rotate.jpg b/doc/html/_images/rotate.jpg deleted file mode 100644 index 42b46bfa9ee73dcc9cd8e09b5f6de36691b5fb23..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/rotate.jpg and /dev/null differ diff --git a/doc/html/_images/saed_ewald_intersect.jpg b/doc/html/_images/saed_ewald_intersect.jpg deleted file mode 100644 index a1ab118bdc78e959f4616fc47b0d69e9b1298c8b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/saed_ewald_intersect.jpg and /dev/null differ diff --git a/doc/html/_images/saed_mesh.jpg b/doc/html/_images/saed_mesh.jpg deleted file mode 100644 index 7b0bf4117f1397345fda738cba8c4229081560ba..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/saed_mesh.jpg and /dev/null differ diff --git a/doc/html/_images/screenshot_atomeye.jpg b/doc/html/_images/screenshot_atomeye.jpg deleted file mode 100644 index a9d53ff80a60dc290659c999e31abda4ae3c748b..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/screenshot_atomeye.jpg and /dev/null differ diff --git a/doc/html/_images/screenshot_gl.jpg b/doc/html/_images/screenshot_gl.jpg deleted file mode 100644 index 218bb840440bee9530187c3972794f2d1e9111d1..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/screenshot_gl.jpg and /dev/null differ diff --git a/doc/html/_images/screenshot_pymol.jpg b/doc/html/_images/screenshot_pymol.jpg deleted file mode 100644 index 0e30ae15209c1e620fba509fd917a0eb3b07214e..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/screenshot_pymol.jpg and /dev/null differ diff --git a/doc/html/_images/screenshot_vmd.jpg b/doc/html/_images/screenshot_vmd.jpg deleted file mode 100644 index 9a881e10c4bbf48ed8365a963b27c36ed30722d2..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/screenshot_vmd.jpg and /dev/null differ diff --git a/doc/html/_images/sinusoid.jpg b/doc/html/_images/sinusoid.jpg deleted file mode 100644 index 00969281a1ba2bc91ae2c038eb9279b4cc8dd79a..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/sinusoid.jpg and /dev/null differ diff --git a/doc/html/_images/stress_tensor.jpg b/doc/html/_images/stress_tensor.jpg deleted file mode 100644 index a62d6aa97389fdc67582b761d1b7518cc2059dca..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/stress_tensor.jpg and /dev/null differ diff --git a/doc/html/_images/transform.jpg b/doc/html/_images/transform.jpg deleted file mode 100644 index 4c591c4f9b8a7cb3fb35f460c7e78caba712c667..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/transform.jpg and /dev/null differ diff --git a/doc/html/_images/tutorial_branch.png b/doc/html/_images/tutorial_branch.png deleted file mode 100644 index 0c6d2c08812058ced3e9aea5494fc819553b1bc5..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/tutorial_branch.png and /dev/null differ diff --git a/doc/html/_images/tutorial_fork.png b/doc/html/_images/tutorial_fork.png deleted file mode 100644 index f22db97112fc7556faa622a0f4739f01d4a59163..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/tutorial_fork.png and /dev/null differ diff --git a/doc/html/_images/tutorial_https_block.png b/doc/html/_images/tutorial_https_block.png deleted file mode 100644 index ffa4523681f13a1dcca46246fed11b7c0ee7479f..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/tutorial_https_block.png and /dev/null differ diff --git a/doc/html/_images/tutorial_merged.png b/doc/html/_images/tutorial_merged.png deleted file mode 100644 index d3961afae7ebebd720edecea771a91f031fa7e52..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/tutorial_merged.png and /dev/null differ diff --git a/doc/html/_images/tutorial_pull_request2.png b/doc/html/_images/tutorial_pull_request2.png deleted file mode 100644 index 44ef92a345ec5bd82046129fcf404e456fa2eb39..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/tutorial_pull_request2.png and /dev/null differ diff --git a/doc/html/_images/tutorial_pull_request3.png b/doc/html/_images/tutorial_pull_request3.png deleted file mode 100644 index d2bda96e90f3893fd060e40b33bffb6dbb4cdbe3..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/tutorial_pull_request3.png and /dev/null differ diff --git a/doc/html/_images/tutorial_pull_request4.png b/doc/html/_images/tutorial_pull_request4.png deleted file mode 100644 index 120e5638bc874a3dbef74298485ba73ef37c1b06..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/tutorial_pull_request4.png and /dev/null differ diff --git a/doc/html/_images/tutorial_pull_request_feature_branch1.png b/doc/html/_images/tutorial_pull_request_feature_branch1.png deleted file mode 100644 index 91b27060be455f30120c8df63930d8597c6c863c..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/tutorial_pull_request_feature_branch1.png and /dev/null differ diff --git a/doc/html/_images/umbrella.jpg b/doc/html/_images/umbrella.jpg deleted file mode 100644 index 5783b54ea34556561221c695f878503a5d755c21..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/umbrella.jpg and /dev/null differ diff --git a/doc/html/_images/user_intel.png b/doc/html/_images/user_intel.png deleted file mode 100644 index 0ebb2d1ae08cdd8ddd0d150f29d0da7b12e5520d..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/user_intel.png and /dev/null differ diff --git a/doc/html/_images/xrd_mesh.jpg b/doc/html/_images/xrd_mesh.jpg deleted file mode 100644 index 677234caabd7dad8c2ee156b6d6f9af32782fa27..0000000000000000000000000000000000000000 Binary files a/doc/html/_images/xrd_mesh.jpg and /dev/null differ diff --git a/doc/html/_static/ajax-loader.gif b/doc/html/_static/ajax-loader.gif deleted file mode 100644 index 61faf8cab23993bd3e1560bff0668bd628642330..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/ajax-loader.gif and /dev/null differ diff --git a/doc/html/_static/basic.css b/doc/html/_static/basic.css deleted file mode 100644 index 2b513f0c9643dcd7e671013a2507badf2efb3040..0000000000000000000000000000000000000000 --- a/doc/html/_static/basic.css +++ /dev/null @@ -1,604 +0,0 @@ -/* - * basic.css - * ~~~~~~~~~ - * - * Sphinx stylesheet -- basic theme. - * - * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - word-wrap: break-word; - overflow-wrap : break-word; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox input[type="text"] { - width: 170px; -} - -img { - border: 0; - max-width: 100%; -} - -/* -- search page ----------------------------------------------------------- */ - -ul.search { - margin: 10px 0 0 20px; - padding: 0; -} - -ul.search li { - padding: 5px 0 5px 20px; - background-image: url(file.png); - background-repeat: no-repeat; - background-position: 0 7px; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li div.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -table.indextable { - width: 100%; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable dl, table.indextable dd { - margin-top: 0; - margin-bottom: 0; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -div.modindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -div.genindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -/* -- general body styles --------------------------------------------------- */ - -div.body p, div.body dd, div.body li, div.body blockquote { - -moz-hyphens: auto; - -ms-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} - -a.headerlink { - visibility: hidden; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink, -caption:hover > a.headerlink, -p.caption:hover > a.headerlink, -div.code-block-caption:hover > a.headerlink { - visibility: visible; -} - -div.body p.caption { - text-align: inherit; -} - -div.body td { - text-align: left; -} - -.field-list ul { - padding-left: 1em; -} - -.first { - margin-top: 0 !important; -} - -p.rubric { - margin-top: 30px; - font-weight: bold; -} - -img.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px 7px 0 7px; - background-color: #ffe; - width: 40%; - float: right; -} - -p.sidebar-title { - font-weight: bold; -} - -/* -- topics ---------------------------------------------------------------- */ - -div.topic { - border: 1px solid #ccc; - padding: 7px 7px 0 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -div.admonition dl { - margin-bottom: 0; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - border: 0; - border-collapse: collapse; -} - -table caption span.caption-number { - font-style: italic; -} - -table caption span.caption-text { -} - -table.docutils td, table.docutils th { - padding: 1px 8px 1px 5px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 1px solid #aaa; -} - -table.field-list td, table.field-list th { - border: 0 !important; -} - -table.footnote td, table.footnote th { - border: 0 !important; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text { -} - - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -dl { - margin-bottom: 15px; -} - -dd p { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -dt:target, .highlighted { - background-color: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -.footnote:target { - background-color: #ffa; -} - -.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; -} - -.line-block .line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; -} - -.guilabel, .menuselection { - font-family: sans-serif; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -td.linenos pre { - padding: 5px 0px; - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - margin-left: 0.5em; -} - -table.highlighttable td { - padding: 0 0.5em 0 0.5em; -} - -div.code-block-caption { - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -div.code-block-caption + div > div.highlight > pre { - margin-top: 0; -} - -div.code-block-caption span.caption-number { - padding: 0.1em 0.3em; - font-style: italic; -} - -div.code-block-caption span.caption-text { -} - -div.literal-block-wrapper { - padding: 1em 1em 0; -} - -div.literal-block-wrapper div.highlight { - margin: 0; -} - -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - -code.xref, a code { - background-color: transparent; - font-weight: bold; -} - -h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - background-color: transparent; -} - -.viewcode-link { - float: right; -} - -.viewcode-back { - float: right; - font-family: sans-serif; -} - -div.viewcode-block:target { - margin: -1px -10px; - padding: 0 10px; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -/* -- printout stylesheet --------------------------------------------------- */ - -@media print { - div.document, - div.documentwrapper, - div.bodywrapper { - margin: 0 !important; - width: 100%; - } - - div.sphinxsidebar, - div.related, - div.footer, - #top-link { - display: none; - } -} \ No newline at end of file diff --git a/doc/html/_static/comment-bright.png b/doc/html/_static/comment-bright.png deleted file mode 100644 index 551517b8c83b76f734ff791f847829a760ad1903..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/comment-bright.png and /dev/null differ diff --git a/doc/html/_static/comment-close.png b/doc/html/_static/comment-close.png deleted file mode 100644 index 09b54be46da3f0d4a5061da289dc91d8a2cdbc9c..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/comment-close.png and /dev/null differ diff --git a/doc/html/_static/comment.png b/doc/html/_static/comment.png deleted file mode 100644 index 92feb52b8824c6b0f59b658b1196c61de9162a95..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/comment.png and /dev/null differ diff --git a/doc/html/_static/css/badge_only.css b/doc/html/_static/css/badge_only.css deleted file mode 100644 index 51d180e4e2669fa664d8a8b2fbb8633de768da7b..0000000000000000000000000000000000000000 --- a/doc/html/_static/css/badge_only.css +++ /dev/null @@ -1,226 +0,0 @@ -@charset "UTF-8"; -.fa:before { - -webkit-font-smoothing: antialiased; -} - -.clearfix { - *zoom: 1; -} -.clearfix:before, .clearfix:after { - display: table; - content: ""; -} -.clearfix:after { - clear: both; -} - -@font-face { - font-family: FontAwesome; - font-weight: normal; - font-style: normal; - src: url("../font/fontawesome_webfont.eot"); - src: url("../font/fontawesome_webfont.eot?#iefix") format("embedded-opentype"), url("../font/fontawesome_webfont.woff") format("woff"), url("../font/fontawesome_webfont.ttf") format("truetype"), url("../font/fontawesome_webfont.svg#FontAwesome") format("svg"); -} -.fa:before { - display: inline-block; - font-family: FontAwesome; - font-style: normal; - font-weight: normal; - line-height: 1; - text-decoration: inherit; -} - -a .fa { - display: inline-block; - text-decoration: inherit; -} - -li .fa { - display: inline-block; -} -li .fa-large:before, -li .fa-large:before { - /* 1.5 increased font size for fa-large * 1.25 width */ - width: 1.875em; -} - -ul.fas { - list-style-type: none; - margin-left: 2em; - text-indent: -0.8em; -} -ul.fas li .fa { - width: 0.8em; -} -ul.fas li .fa-large:before, -ul.fas li .fa-large:before { - /* 1.5 increased font size for fa-large * 1.25 width */ - vertical-align: baseline; -} - -.fa-book:before { - content: ""; -} - -.icon-book:before { - content: ""; -} - -.fa-caret-down:before { - content: ""; -} - -.icon-caret-down:before { - content: ""; -} - -.fa-caret-up:before { - content: ""; -} - -.icon-caret-up:before { - content: ""; -} - -.fa-caret-left:before { - content: ""; -} - -.icon-caret-left:before { - content: ""; -} - -.fa-caret-right:before { - content: ""; -} - -.icon-caret-right:before { - content: ""; -} - -.rst-versions { - position: fixed; - bottom: 0; - left: 0; - width: 300px; - color: #fcfcfc; - background: #1f1d1d; - border-top: solid 10px #343131; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - z-index: 400; -} -.rst-versions a { - color: #2980B9; - text-decoration: none; -} -.rst-versions .rst-badge-small { - display: none; -} -.rst-versions .rst-current-version { - padding: 12px; - background-color: #272525; - display: block; - text-align: right; - font-size: 90%; - cursor: pointer; - color: #27AE60; - *zoom: 1; -} -.rst-versions .rst-current-version:before, .rst-versions .rst-current-version:after { - display: table; - content: ""; -} -.rst-versions .rst-current-version:after { - clear: both; -} -.rst-versions .rst-current-version .fa { - color: #fcfcfc; -} -.rst-versions .rst-current-version .fa-book { - float: left; -} -.rst-versions .rst-current-version .icon-book { - float: left; -} -.rst-versions .rst-current-version.rst-out-of-date { - background-color: #E74C3C; - color: #fff; -} -.rst-versions .rst-current-version.rst-active-old-version { - background-color: #F1C40F; - color: #000; -} -.rst-versions.shift-up .rst-other-versions { - display: block; -} -.rst-versions .rst-other-versions { - font-size: 90%; - padding: 12px; - color: gray; - display: none; -} -.rst-versions .rst-other-versions hr { - display: block; - height: 1px; - border: 0; - margin: 20px 0; - padding: 0; - border-top: solid 1px #413d3d; -} -.rst-versions .rst-other-versions dd { - display: inline-block; - margin: 0; -} -.rst-versions .rst-other-versions dd a { - display: inline-block; - padding: 6px; - color: #fcfcfc; -} -.rst-versions.rst-badge { - width: auto; - bottom: 20px; - right: 20px; - left: auto; - border: none; - max-width: 300px; -} -.rst-versions.rst-badge .icon-book { - float: none; -} -.rst-versions.rst-badge .fa-book { - float: none; -} -.rst-versions.rst-badge.shift-up .rst-current-version { - text-align: right; -} -.rst-versions.rst-badge.shift-up .rst-current-version .fa-book { - float: left; -} -.rst-versions.rst-badge.shift-up .rst-current-version .icon-book { - float: left; -} -.rst-versions.rst-badge .rst-current-version { - width: auto; - height: 30px; - line-height: 30px; - padding: 0 6px; - display: block; - text-align: center; -} - -@media screen and (max-width: 768px) { - .rst-versions { - width: 85%; - display: none; - } - .rst-versions.shift { - display: block; - } - - img { - width: 100%; - height: auto; - } -} - -/*# sourceMappingURL=badge_only.css.map */ diff --git a/doc/html/_static/css/badge_only.css.map b/doc/html/_static/css/badge_only.css.map deleted file mode 100644 index aeb56ddb04b00d0456c3dd975aed001934ed23f4..0000000000000000000000000000000000000000 --- a/doc/html/_static/css/badge_only.css.map +++ /dev/null @@ -1,7 +0,0 @@ -{ -"version": 3, -"mappings": ";AAyDA,UAAY;EACV,sBAAsB,EAAE,WAAW;;;AAqDrC,SAAS;EARP,KAAK,EAAE,CAAC;;AACR,iCAAS;EAEP,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;;AACb,eAAO;EACL,KAAK,EAAE,IAAI;;;AC1Gb,UAkBC;EAjBC,WAAW,ECFJ,WAAW;EDGlB,WAAW,EAHqC,MAAM;EAItD,UAAU,EAJsD,MAAM;EAapE,GAAG,EAAE,sCAAwB;EAC7B,GAAG,EAAE,8PAAyE;;ACZpF,UAAU;EACR,OAAO,EAAE,YAAY;EACrB,WAAW,EAAE,WAAW;EACxB,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,MAAM;EACnB,WAAW,EAAE,CAAC;EACd,eAAe,EAAE,OAAO;;;AAG1B,KAAK;EACH,OAAO,EAAE,YAAY;EACrB,eAAe,EAAE,OAAO;;;AAIxB,MAAG;EACD,OAAO,EAAE,YAAY;;AACvB;mBAAiB;;EAGf,KAAK,EAAE,OAAY;;;AAEvB,MAAM;EACJ,eAAe,EAAE,IAAI;EACrB,WAAW,EAAE,GAAG;EAChB,WAAW,EAAE,MAAM;;AAEjB,aAAG;EACD,KAAK,EAAE,KAAI;;AACb;0BAAiB;;EAGf,cAAc,EAAE,QAAQ;;;AAG9B,eAAe;EACb,OAAO,EAAE,GAAO;;;AAElB,iBAAiB;EACf,OAAO,EAAE,GAAO;;;AAElB,qBAAqB;EACnB,OAAO,EAAE,GAAO;;;AAElB,uBAAuB;EACrB,OAAO,EAAE,GAAO;;;AAElB,mBAAmB;EACjB,OAAO,EAAE,GAAO;;;AAElB,qBAAqB;EACnB,OAAO,EAAE,GAAO;;;AAElB,qBAAqB;EACnB,OAAO,EAAE,GAAO;;;AAElB,uBAAuB;EACrB,OAAO,EAAE,GAAO;;;AAElB,sBAAsB;EACpB,OAAO,EAAE,GAAO;;;AAElB,wBAAwB;EACtB,OAAO,EAAE,GAAO;;;ACnElB,aAAa;EACX,QAAQ,EAAE,KAAK;EACf,MAAM,EAAE,CAAC;EACT,IAAI,EAAE,CAAC;EACP,KAAK,EC6E+B,KAAK;ED5EzC,KAAK,ECE+B,OAAyB;EDD7D,UAAU,EAAE,OAAkC;EAC9C,UAAU,EAAE,kBAAiC;EAC7C,WAAW,EEAyB,2DAAM;EFC1C,OAAO,EC+E6B,GAAG;;AD9EvC,eAAC;EACC,KAAK,ECqE6B,OAAW;EDpE7C,eAAe,EAAE,IAAI;;AACvB,8BAAgB;EACd,OAAO,EAAE,IAAI;;AACf,kCAAoB;EAClB,OAAO,EAAE,IAAqB;EAC9B,gBAAgB,EAAE,OAAkC;EACpD,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,KAAK;EACjB,SAAS,EAAE,GAAG;EACd,MAAM,EAAE,OAAO;EACf,KAAK,ECiD6B,OAAM;EJgC1C,KAAK,EAAE,CAAC;;AACR,mFAAS;EAEP,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;;AACb,wCAAO;EACL,KAAK,EAAE,IAAI;;AGrFX,sCAAG;EACD,KAAK,EClB2B,OAAyB;;ADmB3D,2CAAQ;EACN,KAAK,EAAE,IAAI;;AACb,6CAAU;EACR,KAAK,EAAE,IAAI;;AACb,kDAAiB;EACf,gBAAgB,ECQgB,OAAI;EDPpC,KAAK,EC0B2B,IAAM;;ADzBxC,yDAAwB;EACtB,gBAAgB,ECXgB,OAAO;EDYvC,KAAK,ECzB2B,IAAI;;AD0BxC,0CAA8B;EAC5B,OAAO,EAAE,KAAK;;AAChB,iCAAmB;EACjB,SAAS,EAAE,GAAG;EACd,OAAO,EAAE,IAAqB;EAC9B,KAAK,ECE6B,IAAwB;EDD1D,OAAO,EAAE,IAAI;;AACb,oCAAE;EACA,OAAO,EAAE,KAAK;EACd,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,MAAM;EACd,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,iBAA6C;;AAC3D,oCAAE;EACA,OAAO,EAAE,YAAY;EACrB,MAAM,EAAE,CAAC;;AACT,sCAAC;EACC,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,GAAqB;EAC9B,KAAK,ECjDyB,OAAyB;;ADkD7D,uBAAW;EACT,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,IAAI,EAAE,IAAI;EACV,MAAM,EAAE,IAAI;EACZ,SAAS,ECkByB,KAAK;;ADjBvC,kCAAU;EACR,KAAK,EAAE,IAAI;;AACb,gCAAQ;EACN,KAAK,EAAE,IAAI;;AACb,qDAA+B;EAC7B,UAAU,EAAE,KAAK;;AACjB,8DAAQ;EACN,KAAK,EAAE,IAAI;;AACb,gEAAU;EACR,KAAK,EAAE,IAAI;;AACf,4CAAoB;EAClB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,KAAuB;EAChC,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,MAAM;;;AGhDpB,oCAAsB;EHmDxB,aAAa;IACX,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,IAAI;;EACb,mBAAO;IACL,OAAO,EAAE,KAAK;;;EAClB,GAAG;IACD,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI", -"sources": ["../../../bower_components/wyrm/sass/wyrm_core/_mixin.sass","../../../bower_components/bourbon/dist/css3/_font-face.scss","../../../sass/_theme_badge_fa.sass","../../../sass/_theme_badge.sass","../../../bower_components/wyrm/sass/wyrm_core/_wy_variables.sass","../../../sass/_theme_variables.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_media.scss"], -"names": [], -"file": "badge_only.css" -} diff --git a/doc/html/_static/css/theme.css b/doc/html/_static/css/theme.css deleted file mode 100644 index 58c5bec697626d7b2775613ff76d559d9198a7cc..0000000000000000000000000000000000000000 --- a/doc/html/_static/css/theme.css +++ /dev/null @@ -1,5095 +0,0 @@ -@charset "UTF-8"; -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { - display: block; -} - -audio, canvas, video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -audio:not([controls]) { - display: none; -} - -[hidden] { - display: none; -} - -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} - -body { - margin: 0; -} - -a:hover, a:active { - outline: 0; -} - -abbr[title] { - border-bottom: 1px dotted; -} - -b, strong { - font-weight: bold; -} - -blockquote { - margin: 0; -} - -dfn { - font-style: italic; -} - -ins { - background: #ff9; - color: #000; - text-decoration: none; -} - -mark { - background: #ff0; - color: #000; - font-style: italic; - font-weight: bold; -} - -pre, code, .rst-content tt, .rst-content code, kbd, samp { - font-family: monospace, serif; - _font-family: "courier new", monospace; - font-size: 1em; -} - -pre { - white-space: pre; -} - -q { - quotes: none; -} - -q:before, q:after { - content: ""; - content: none; -} - -small { - font-size: 85%; -} - -sub, sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -ul, ol, dl { - margin: 0; - padding: 0; - list-style: none; - list-style-image: none; -} - -li { - list-style: none; -} - -dd { - margin: 0; -} - -img { - border: 0; - -ms-interpolation-mode: bicubic; - vertical-align: middle; - max-width: 100%; -} - -svg:not(:root) { - overflow: hidden; -} - -figure { - margin: 0; -} - -form { - margin: 0; -} - -fieldset { - border: 0; - margin: 0; - padding: 0; -} - -label { - cursor: pointer; -} - -legend { - border: 0; - *margin-left: -7px; - padding: 0; - white-space: normal; -} - -button, input, select, textarea { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle; -} - -button, input { - line-height: normal; -} - -button, input[type="button"], input[type="reset"], input[type="submit"] { - cursor: pointer; - -webkit-appearance: button; - *overflow: visible; -} - -button[disabled], input[disabled] { - cursor: default; -} - -input[type="checkbox"], input[type="radio"] { - box-sizing: border-box; - padding: 0; - *width: 13px; - *height: 13px; -} - -input[type="search"] { - -webkit-appearance: textfield; - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} - -input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} - -button::-moz-focus-inner, input::-moz-focus-inner { - border: 0; - padding: 0; -} - -textarea { - overflow: auto; - vertical-align: top; - resize: vertical; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td { - vertical-align: top; -} - -.chromeframe { - margin: 0.2em 0; - background: #ccc; - color: black; - padding: 0.2em 0; -} - -.ir { - display: block; - border: 0; - text-indent: -999em; - overflow: hidden; - background-color: transparent; - background-repeat: no-repeat; - text-align: left; - direction: ltr; - *line-height: 0; -} - -.ir br { - display: none; -} - -.hidden { - display: none !important; - visibility: hidden; -} - -.visuallyhidden { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} - -.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; -} - -.invisible { - visibility: hidden; -} - -.relative { - position: relative; -} - -big, small { - font-size: 100%; -} - -@media print { - html, body, section { - background: none !important; - } - - * { - box-shadow: none !important; - text-shadow: none !important; - filter: none !important; - -ms-filter: none !important; - } - - a, a:visited { - text-decoration: underline; - } - - .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { - content: ""; - } - - pre, blockquote { - page-break-inside: avoid; - } - - thead { - display: table-header-group; - } - - tr, img { - page-break-inside: avoid; - } - - img { - max-width: 100% !important; - } - - @page { - margin: 0.5cm; - } - p, h2, .rst-content .toctree-wrapper p.caption, h3 { - orphans: 3; - widows: 3; - } - - h2, .rst-content .toctree-wrapper p.caption, h3 { - page-break-after: avoid; - } -} -.fa:before, .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before, .rst-content .admonition-title:before, .rst-content h1 .headerlink:before, .rst-content h2 .headerlink:before, .rst-content h3 .headerlink:before, .rst-content h4 .headerlink:before, .rst-content h5 .headerlink:before, .rst-content h6 .headerlink:before, .rst-content dl dt .headerlink:before, .rst-content p.caption .headerlink:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before, .icon:before, .wy-dropdown .caret:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before, .wy-alert, .rst-content .note, .rst-content .attention, .rst-content .caution, .rst-content .danger, .rst-content .error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .warning, .rst-content .seealso, .rst-content .admonition-todo, .btn, input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .wy-menu-vertical li.on a, .wy-menu-vertical li.current > a, .wy-side-nav-search > a, .wy-side-nav-search .wy-dropdown > a, .wy-nav-top a { - -webkit-font-smoothing: antialiased; -} - -.clearfix { - *zoom: 1; -} -.clearfix:before, .clearfix:after { - display: table; - content: ""; -} -.clearfix:after { - clear: both; -} - -/*! - * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ -/* FONT PATH - * -------------------------- */ -@font-face { - font-family: 'FontAwesome'; - src: url("../fonts/fontawesome-webfont.eot?v=4.2.0"); - src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff?v=4.2.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.2.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular") format("svg"); - font-weight: normal; - font-style: normal; -} -.fa, .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, .rst-content .admonition-title, .rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink, .rst-content tt.download span:first-child, .rst-content code.download span:first-child, .icon { - display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -/* makes the font 33% larger relative to the icon container */ -.fa-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -15%; -} - -.fa-2x { - font-size: 2em; -} - -.fa-3x { - font-size: 3em; -} - -.fa-4x { - font-size: 4em; -} - -.fa-5x { - font-size: 5em; -} - -.fa-fw { - width: 1.28571em; - text-align: center; -} - -.fa-ul { - padding-left: 0; - margin-left: 2.14286em; - list-style-type: none; -} -.fa-ul > li { - position: relative; -} - -.fa-li { - position: absolute; - left: -2.14286em; - width: 2.14286em; - top: 0.14286em; - text-align: center; -} -.fa-li.fa-lg { - left: -1.85714em; -} - -.fa-border { - padding: .2em .25em .15em; - border: solid 0.08em #eee; - border-radius: .1em; -} - -.pull-right { - float: right; -} - -.pull-left { - float: left; -} - -.fa.pull-left, .wy-menu-vertical li span.pull-left.toctree-expand, .wy-menu-vertical li.on a span.pull-left.toctree-expand, .wy-menu-vertical li.current > a span.pull-left.toctree-expand, .rst-content .pull-left.admonition-title, .rst-content h1 .pull-left.headerlink, .rst-content h2 .pull-left.headerlink, .rst-content h3 .pull-left.headerlink, .rst-content h4 .pull-left.headerlink, .rst-content h5 .pull-left.headerlink, .rst-content h6 .pull-left.headerlink, .rst-content dl dt .pull-left.headerlink, .rst-content p.caption .pull-left.headerlink, .rst-content tt.download span.pull-left:first-child, .rst-content code.download span.pull-left:first-child, .pull-left.icon { - margin-right: .3em; -} -.fa.pull-right, .wy-menu-vertical li span.pull-right.toctree-expand, .wy-menu-vertical li.on a span.pull-right.toctree-expand, .wy-menu-vertical li.current > a span.pull-right.toctree-expand, .rst-content .pull-right.admonition-title, .rst-content h1 .pull-right.headerlink, .rst-content h2 .pull-right.headerlink, .rst-content h3 .pull-right.headerlink, .rst-content h4 .pull-right.headerlink, .rst-content h5 .pull-right.headerlink, .rst-content h6 .pull-right.headerlink, .rst-content dl dt .pull-right.headerlink, .rst-content p.caption .pull-right.headerlink, .rst-content tt.download span.pull-right:first-child, .rst-content code.download span.pull-right:first-child, .pull-right.icon { - margin-left: .3em; -} - -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; -} - -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.fa-rotate-90 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} - -.fa-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} - -.fa-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} - -.fa-flip-horizontal { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0); - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} - -.fa-flip-vertical { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} - -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none; -} - -.fa-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; -} - -.fa-stack-1x, .fa-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} - -.fa-stack-1x { - line-height: inherit; -} - -.fa-stack-2x { - font-size: 2em; -} - -.fa-inverse { - color: #fff; -} - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ -.fa-glass:before { - content: ""; -} - -.fa-music:before { - content: ""; -} - -.fa-search:before, .icon-search:before { - content: ""; -} - -.fa-envelope-o:before { - content: ""; -} - -.fa-heart:before { - content: ""; -} - -.fa-star:before { - content: ""; -} - -.fa-star-o:before { - content: ""; -} - -.fa-user:before { - content: ""; -} - -.fa-film:before { - content: ""; -} - -.fa-th-large:before { - content: ""; -} - -.fa-th:before { - content: ""; -} - -.fa-th-list:before { - content: ""; -} - -.fa-check:before { - content: ""; -} - -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: ""; -} - -.fa-search-plus:before { - content: ""; -} - -.fa-search-minus:before { - content: ""; -} - -.fa-power-off:before { - content: ""; -} - -.fa-signal:before { - content: ""; -} - -.fa-gear:before, -.fa-cog:before { - content: ""; -} - -.fa-trash-o:before { - content: ""; -} - -.fa-home:before, .icon-home:before { - content: ""; -} - -.fa-file-o:before { - content: ""; -} - -.fa-clock-o:before { - content: ""; -} - -.fa-road:before { - content: ""; -} - -.fa-download:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before { - content: ""; -} - -.fa-arrow-circle-o-down:before { - content: ""; -} - -.fa-arrow-circle-o-up:before { - content: ""; -} - -.fa-inbox:before { - content: ""; -} - -.fa-play-circle-o:before { - content: ""; -} - -.fa-rotate-right:before, -.fa-repeat:before { - content: ""; -} - -.fa-refresh:before { - content: ""; -} - -.fa-list-alt:before { - content: ""; -} - -.fa-lock:before { - content: ""; -} - -.fa-flag:before { - content: ""; -} - -.fa-headphones:before { - content: ""; -} - -.fa-volume-off:before { - content: ""; -} - -.fa-volume-down:before { - content: ""; -} - -.fa-volume-up:before { - content: ""; -} - -.fa-qrcode:before { - content: ""; -} - -.fa-barcode:before { - content: ""; -} - -.fa-tag:before { - content: ""; -} - -.fa-tags:before { - content: ""; -} - -.fa-book:before, .icon-book:before { - content: ""; -} - -.fa-bookmark:before { - content: ""; -} - -.fa-print:before { - content: ""; -} - -.fa-camera:before { - content: ""; -} - -.fa-font:before { - content: ""; -} - -.fa-bold:before { - content: ""; -} - -.fa-italic:before { - content: ""; -} - -.fa-text-height:before { - content: ""; -} - -.fa-text-width:before { - content: ""; -} - -.fa-align-left:before { - content: ""; -} - -.fa-align-center:before { - content: ""; -} - -.fa-align-right:before { - content: ""; -} - -.fa-align-justify:before { - content: ""; -} - -.fa-list:before { - content: ""; -} - -.fa-dedent:before, -.fa-outdent:before { - content: ""; -} - -.fa-indent:before { - content: ""; -} - -.fa-video-camera:before { - content: ""; -} - -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: ""; -} - -.fa-pencil:before { - content: ""; -} - -.fa-map-marker:before { - content: ""; -} - -.fa-adjust:before { - content: ""; -} - -.fa-tint:before { - content: ""; -} - -.fa-edit:before, -.fa-pencil-square-o:before { - content: ""; -} - -.fa-share-square-o:before { - content: ""; -} - -.fa-check-square-o:before { - content: ""; -} - -.fa-arrows:before { - content: ""; -} - -.fa-step-backward:before { - content: ""; -} - -.fa-fast-backward:before { - content: ""; -} - -.fa-backward:before { - content: ""; -} - -.fa-play:before { - content: ""; -} - -.fa-pause:before { - content: ""; -} - -.fa-stop:before { - content: ""; -} - -.fa-forward:before { - content: ""; -} - -.fa-fast-forward:before { - content: ""; -} - -.fa-step-forward:before { - content: ""; -} - -.fa-eject:before { - content: ""; -} - -.fa-chevron-left:before { - content: ""; -} - -.fa-chevron-right:before { - content: ""; -} - -.fa-plus-circle:before { - content: ""; -} - -.fa-minus-circle:before { - content: ""; -} - -.fa-times-circle:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before { - content: ""; -} - -.fa-check-circle:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before { - content: ""; -} - -.fa-question-circle:before { - content: ""; -} - -.fa-info-circle:before { - content: ""; -} - -.fa-crosshairs:before { - content: ""; -} - -.fa-times-circle-o:before { - content: ""; -} - -.fa-check-circle-o:before { - content: ""; -} - -.fa-ban:before { - content: ""; -} - -.fa-arrow-left:before { - content: ""; -} - -.fa-arrow-right:before { - content: ""; -} - -.fa-arrow-up:before { - content: ""; -} - -.fa-arrow-down:before { - content: ""; -} - -.fa-mail-forward:before, -.fa-share:before { - content: ""; -} - -.fa-expand:before { - content: ""; -} - -.fa-compress:before { - content: ""; -} - -.fa-plus:before { - content: ""; -} - -.fa-minus:before { - content: ""; -} - -.fa-asterisk:before { - content: ""; -} - -.fa-exclamation-circle:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before, .rst-content .admonition-title:before { - content: ""; -} - -.fa-gift:before { - content: ""; -} - -.fa-leaf:before { - content: ""; -} - -.fa-fire:before, .icon-fire:before { - content: ""; -} - -.fa-eye:before { - content: ""; -} - -.fa-eye-slash:before { - content: ""; -} - -.fa-warning:before, -.fa-exclamation-triangle:before { - content: ""; -} - -.fa-plane:before { - content: ""; -} - -.fa-calendar:before { - content: ""; -} - -.fa-random:before { - content: ""; -} - -.fa-comment:before { - content: ""; -} - -.fa-magnet:before { - content: ""; -} - -.fa-chevron-up:before { - content: ""; -} - -.fa-chevron-down:before { - content: ""; -} - -.fa-retweet:before { - content: ""; -} - -.fa-shopping-cart:before { - content: ""; -} - -.fa-folder:before { - content: ""; -} - -.fa-folder-open:before { - content: ""; -} - -.fa-arrows-v:before { - content: ""; -} - -.fa-arrows-h:before { - content: ""; -} - -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: ""; -} - -.fa-twitter-square:before { - content: ""; -} - -.fa-facebook-square:before { - content: ""; -} - -.fa-camera-retro:before { - content: ""; -} - -.fa-key:before { - content: ""; -} - -.fa-gears:before, -.fa-cogs:before { - content: ""; -} - -.fa-comments:before { - content: ""; -} - -.fa-thumbs-o-up:before { - content: ""; -} - -.fa-thumbs-o-down:before { - content: ""; -} - -.fa-star-half:before { - content: ""; -} - -.fa-heart-o:before { - content: ""; -} - -.fa-sign-out:before { - content: ""; -} - -.fa-linkedin-square:before { - content: ""; -} - -.fa-thumb-tack:before { - content: ""; -} - -.fa-external-link:before { - content: ""; -} - -.fa-sign-in:before { - content: ""; -} - -.fa-trophy:before { - content: ""; -} - -.fa-github-square:before { - content: ""; -} - -.fa-upload:before { - content: ""; -} - -.fa-lemon-o:before { - content: ""; -} - -.fa-phone:before { - content: ""; -} - -.fa-square-o:before { - content: ""; -} - -.fa-bookmark-o:before { - content: ""; -} - -.fa-phone-square:before { - content: ""; -} - -.fa-twitter:before { - content: ""; -} - -.fa-facebook:before { - content: ""; -} - -.fa-github:before, .icon-github:before { - content: ""; -} - -.fa-unlock:before { - content: ""; -} - -.fa-credit-card:before { - content: ""; -} - -.fa-rss:before { - content: ""; -} - -.fa-hdd-o:before { - content: ""; -} - -.fa-bullhorn:before { - content: ""; -} - -.fa-bell:before { - content: ""; -} - -.fa-certificate:before { - content: ""; -} - -.fa-hand-o-right:before { - content: ""; -} - -.fa-hand-o-left:before { - content: ""; -} - -.fa-hand-o-up:before { - content: ""; -} - -.fa-hand-o-down:before { - content: ""; -} - -.fa-arrow-circle-left:before, .icon-circle-arrow-left:before { - content: ""; -} - -.fa-arrow-circle-right:before, .icon-circle-arrow-right:before { - content: ""; -} - -.fa-arrow-circle-up:before { - content: ""; -} - -.fa-arrow-circle-down:before { - content: ""; -} - -.fa-globe:before { - content: ""; -} - -.fa-wrench:before { - content: ""; -} - -.fa-tasks:before { - content: ""; -} - -.fa-filter:before { - content: ""; -} - -.fa-briefcase:before { - content: ""; -} - -.fa-arrows-alt:before { - content: ""; -} - -.fa-group:before, -.fa-users:before { - content: ""; -} - -.fa-chain:before, -.fa-link:before, -.icon-link:before { - content: ""; -} - -.fa-cloud:before { - content: ""; -} - -.fa-flask:before { - content: ""; -} - -.fa-cut:before, -.fa-scissors:before { - content: ""; -} - -.fa-copy:before, -.fa-files-o:before { - content: ""; -} - -.fa-paperclip:before { - content: ""; -} - -.fa-save:before, -.fa-floppy-o:before { - content: ""; -} - -.fa-square:before { - content: ""; -} - -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: ""; -} - -.fa-list-ul:before { - content: ""; -} - -.fa-list-ol:before { - content: ""; -} - -.fa-strikethrough:before { - content: ""; -} - -.fa-underline:before { - content: ""; -} - -.fa-table:before { - content: ""; -} - -.fa-magic:before { - content: ""; -} - -.fa-truck:before { - content: ""; -} - -.fa-pinterest:before { - content: ""; -} - -.fa-pinterest-square:before { - content: ""; -} - -.fa-google-plus-square:before { - content: ""; -} - -.fa-google-plus:before { - content: ""; -} - -.fa-money:before { - content: ""; -} - -.fa-caret-down:before, .wy-dropdown .caret:before, .icon-caret-down:before { - content: ""; -} - -.fa-caret-up:before { - content: ""; -} - -.fa-caret-left:before { - content: ""; -} - -.fa-caret-right:before { - content: ""; -} - -.fa-columns:before { - content: ""; -} - -.fa-unsorted:before, -.fa-sort:before { - content: ""; -} - -.fa-sort-down:before, -.fa-sort-desc:before { - content: ""; -} - -.fa-sort-up:before, -.fa-sort-asc:before { - content: ""; -} - -.fa-envelope:before { - content: ""; -} - -.fa-linkedin:before { - content: ""; -} - -.fa-rotate-left:before, -.fa-undo:before { - content: ""; -} - -.fa-legal:before, -.fa-gavel:before { - content: ""; -} - -.fa-dashboard:before, -.fa-tachometer:before { - content: ""; -} - -.fa-comment-o:before { - content: ""; -} - -.fa-comments-o:before { - content: ""; -} - -.fa-flash:before, -.fa-bolt:before { - content: ""; -} - -.fa-sitemap:before { - content: ""; -} - -.fa-umbrella:before { - content: ""; -} - -.fa-paste:before, -.fa-clipboard:before { - content: ""; -} - -.fa-lightbulb-o:before { - content: ""; -} - -.fa-exchange:before { - content: ""; -} - -.fa-cloud-download:before { - content: ""; -} - -.fa-cloud-upload:before { - content: ""; -} - -.fa-user-md:before { - content: ""; -} - -.fa-stethoscope:before { - content: ""; -} - -.fa-suitcase:before { - content: ""; -} - -.fa-bell-o:before { - content: ""; -} - -.fa-coffee:before { - content: ""; -} - -.fa-cutlery:before { - content: ""; -} - -.fa-file-text-o:before { - content: ""; -} - -.fa-building-o:before { - content: ""; -} - -.fa-hospital-o:before { - content: ""; -} - -.fa-ambulance:before { - content: ""; -} - -.fa-medkit:before { - content: ""; -} - -.fa-fighter-jet:before { - content: ""; -} - -.fa-beer:before { - content: ""; -} - -.fa-h-square:before { - content: ""; -} - -.fa-plus-square:before { - content: ""; -} - -.fa-angle-double-left:before { - content: ""; -} - -.fa-angle-double-right:before { - content: ""; -} - -.fa-angle-double-up:before { - content: ""; -} - -.fa-angle-double-down:before { - content: ""; -} - -.fa-angle-left:before { - content: ""; -} - -.fa-angle-right:before { - content: ""; -} - -.fa-angle-up:before { - content: ""; -} - -.fa-angle-down:before { - content: ""; -} - -.fa-desktop:before { - content: ""; -} - -.fa-laptop:before { - content: ""; -} - -.fa-tablet:before { - content: ""; -} - -.fa-mobile-phone:before, -.fa-mobile:before { - content: ""; -} - -.fa-circle-o:before { - content: ""; -} - -.fa-quote-left:before { - content: ""; -} - -.fa-quote-right:before { - content: ""; -} - -.fa-spinner:before { - content: ""; -} - -.fa-circle:before { - content: ""; -} - -.fa-mail-reply:before, -.fa-reply:before { - content: ""; -} - -.fa-github-alt:before { - content: ""; -} - -.fa-folder-o:before { - content: ""; -} - -.fa-folder-open-o:before { - content: ""; -} - -.fa-smile-o:before { - content: ""; -} - -.fa-frown-o:before { - content: ""; -} - -.fa-meh-o:before { - content: ""; -} - -.fa-gamepad:before { - content: ""; -} - -.fa-keyboard-o:before { - content: ""; -} - -.fa-flag-o:before { - content: ""; -} - -.fa-flag-checkered:before { - content: ""; -} - -.fa-terminal:before { - content: ""; -} - -.fa-code:before { - content: ""; -} - -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: ""; -} - -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: ""; -} - -.fa-location-arrow:before { - content: ""; -} - -.fa-crop:before { - content: ""; -} - -.fa-code-fork:before { - content: ""; -} - -.fa-unlink:before, -.fa-chain-broken:before { - content: ""; -} - -.fa-question:before { - content: ""; -} - -.fa-info:before { - content: ""; -} - -.fa-exclamation:before { - content: ""; -} - -.fa-superscript:before { - content: ""; -} - -.fa-subscript:before { - content: ""; -} - -.fa-eraser:before { - content: ""; -} - -.fa-puzzle-piece:before { - content: ""; -} - -.fa-microphone:before { - content: ""; -} - -.fa-microphone-slash:before { - content: ""; -} - -.fa-shield:before { - content: ""; -} - -.fa-calendar-o:before { - content: ""; -} - -.fa-fire-extinguisher:before { - content: ""; -} - -.fa-rocket:before { - content: ""; -} - -.fa-maxcdn:before { - content: ""; -} - -.fa-chevron-circle-left:before { - content: ""; -} - -.fa-chevron-circle-right:before { - content: ""; -} - -.fa-chevron-circle-up:before { - content: ""; -} - -.fa-chevron-circle-down:before { - content: ""; -} - -.fa-html5:before { - content: ""; -} - -.fa-css3:before { - content: ""; -} - -.fa-anchor:before { - content: ""; -} - -.fa-unlock-alt:before { - content: ""; -} - -.fa-bullseye:before { - content: ""; -} - -.fa-ellipsis-h:before { - content: ""; -} - -.fa-ellipsis-v:before { - content: ""; -} - -.fa-rss-square:before { - content: ""; -} - -.fa-play-circle:before { - content: ""; -} - -.fa-ticket:before { - content: ""; -} - -.fa-minus-square:before { - content: ""; -} - -.fa-minus-square-o:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before { - content: ""; -} - -.fa-level-up:before { - content: ""; -} - -.fa-level-down:before { - content: ""; -} - -.fa-check-square:before { - content: ""; -} - -.fa-pencil-square:before { - content: ""; -} - -.fa-external-link-square:before { - content: ""; -} - -.fa-share-square:before { - content: ""; -} - -.fa-compass:before { - content: ""; -} - -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: ""; -} - -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: ""; -} - -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: ""; -} - -.fa-euro:before, -.fa-eur:before { - content: ""; -} - -.fa-gbp:before { - content: ""; -} - -.fa-dollar:before, -.fa-usd:before { - content: ""; -} - -.fa-rupee:before, -.fa-inr:before { - content: ""; -} - -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: ""; -} - -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: ""; -} - -.fa-won:before, -.fa-krw:before { - content: ""; -} - -.fa-bitcoin:before, -.fa-btc:before { - content: ""; -} - -.fa-file:before { - content: ""; -} - -.fa-file-text:before { - content: ""; -} - -.fa-sort-alpha-asc:before { - content: ""; -} - -.fa-sort-alpha-desc:before { - content: ""; -} - -.fa-sort-amount-asc:before { - content: ""; -} - -.fa-sort-amount-desc:before { - content: ""; -} - -.fa-sort-numeric-asc:before { - content: ""; -} - -.fa-sort-numeric-desc:before { - content: ""; -} - -.fa-thumbs-up:before { - content: ""; -} - -.fa-thumbs-down:before { - content: ""; -} - -.fa-youtube-square:before { - content: ""; -} - -.fa-youtube:before { - content: ""; -} - -.fa-xing:before { - content: ""; -} - -.fa-xing-square:before { - content: ""; -} - -.fa-youtube-play:before { - content: ""; -} - -.fa-dropbox:before { - content: ""; -} - -.fa-stack-overflow:before { - content: ""; -} - -.fa-instagram:before { - content: ""; -} - -.fa-flickr:before { - content: ""; -} - -.fa-adn:before { - content: ""; -} - -.fa-bitbucket:before, .icon-bitbucket:before { - content: ""; -} - -.fa-bitbucket-square:before { - content: ""; -} - -.fa-tumblr:before { - content: ""; -} - -.fa-tumblr-square:before { - content: ""; -} - -.fa-long-arrow-down:before { - content: ""; -} - -.fa-long-arrow-up:before { - content: ""; -} - -.fa-long-arrow-left:before { - content: ""; -} - -.fa-long-arrow-right:before { - content: ""; -} - -.fa-apple:before { - content: ""; -} - -.fa-windows:before { - content: ""; -} - -.fa-android:before { - content: ""; -} - -.fa-linux:before { - content: ""; -} - -.fa-dribbble:before { - content: ""; -} - -.fa-skype:before { - content: ""; -} - -.fa-foursquare:before { - content: ""; -} - -.fa-trello:before { - content: ""; -} - -.fa-female:before { - content: ""; -} - -.fa-male:before { - content: ""; -} - -.fa-gittip:before { - content: ""; -} - -.fa-sun-o:before { - content: ""; -} - -.fa-moon-o:before { - content: ""; -} - -.fa-archive:before { - content: ""; -} - -.fa-bug:before { - content: ""; -} - -.fa-vk:before { - content: ""; -} - -.fa-weibo:before { - content: ""; -} - -.fa-renren:before { - content: ""; -} - -.fa-pagelines:before { - content: ""; -} - -.fa-stack-exchange:before { - content: ""; -} - -.fa-arrow-circle-o-right:before { - content: ""; -} - -.fa-arrow-circle-o-left:before { - content: ""; -} - -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: ""; -} - -.fa-dot-circle-o:before { - content: ""; -} - -.fa-wheelchair:before { - content: ""; -} - -.fa-vimeo-square:before { - content: ""; -} - -.fa-turkish-lira:before, -.fa-try:before { - content: ""; -} - -.fa-plus-square-o:before, .wy-menu-vertical li span.toctree-expand:before { - content: ""; -} - -.fa-space-shuttle:before { - content: ""; -} - -.fa-slack:before { - content: ""; -} - -.fa-envelope-square:before { - content: ""; -} - -.fa-wordpress:before { - content: ""; -} - -.fa-openid:before { - content: ""; -} - -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: ""; -} - -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: ""; -} - -.fa-yahoo:before { - content: ""; -} - -.fa-google:before { - content: ""; -} - -.fa-reddit:before { - content: ""; -} - -.fa-reddit-square:before { - content: ""; -} - -.fa-stumbleupon-circle:before { - content: ""; -} - -.fa-stumbleupon:before { - content: ""; -} - -.fa-delicious:before { - content: ""; -} - -.fa-digg:before { - content: ""; -} - -.fa-pied-piper:before { - content: ""; -} - -.fa-pied-piper-alt:before { - content: ""; -} - -.fa-drupal:before { - content: ""; -} - -.fa-joomla:before { - content: ""; -} - -.fa-language:before { - content: ""; -} - -.fa-fax:before { - content: ""; -} - -.fa-building:before { - content: ""; -} - -.fa-child:before { - content: ""; -} - -.fa-paw:before { - content: ""; -} - -.fa-spoon:before { - content: ""; -} - -.fa-cube:before { - content: ""; -} - -.fa-cubes:before { - content: ""; -} - -.fa-behance:before { - content: ""; -} - -.fa-behance-square:before { - content: ""; -} - -.fa-steam:before { - content: ""; -} - -.fa-steam-square:before { - content: ""; -} - -.fa-recycle:before { - content: ""; -} - -.fa-automobile:before, -.fa-car:before { - content: ""; -} - -.fa-cab:before, -.fa-taxi:before { - content: ""; -} - -.fa-tree:before { - content: ""; -} - -.fa-spotify:before { - content: ""; -} - -.fa-deviantart:before { - content: ""; -} - -.fa-soundcloud:before { - content: ""; -} - -.fa-database:before { - content: ""; -} - -.fa-file-pdf-o:before { - content: ""; -} - -.fa-file-word-o:before { - content: ""; -} - -.fa-file-excel-o:before { - content: ""; -} - -.fa-file-powerpoint-o:before { - content: ""; -} - -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: ""; -} - -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: ""; -} - -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: ""; -} - -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: ""; -} - -.fa-file-code-o:before { - content: ""; -} - -.fa-vine:before { - content: ""; -} - -.fa-codepen:before { - content: ""; -} - -.fa-jsfiddle:before { - content: ""; -} - -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: ""; -} - -.fa-circle-o-notch:before { - content: ""; -} - -.fa-ra:before, -.fa-rebel:before { - content: ""; -} - -.fa-ge:before, -.fa-empire:before { - content: ""; -} - -.fa-git-square:before { - content: ""; -} - -.fa-git:before { - content: ""; -} - -.fa-hacker-news:before { - content: ""; -} - -.fa-tencent-weibo:before { - content: ""; -} - -.fa-qq:before { - content: ""; -} - -.fa-wechat:before, -.fa-weixin:before { - content: ""; -} - -.fa-send:before, -.fa-paper-plane:before { - content: ""; -} - -.fa-send-o:before, -.fa-paper-plane-o:before { - content: ""; -} - -.fa-history:before { - content: ""; -} - -.fa-circle-thin:before { - content: ""; -} - -.fa-header:before { - content: ""; -} - -.fa-paragraph:before { - content: ""; -} - -.fa-sliders:before { - content: ""; -} - -.fa-share-alt:before { - content: ""; -} - -.fa-share-alt-square:before { - content: ""; -} - -.fa-bomb:before { - content: ""; -} - -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: ""; -} - -.fa-tty:before { - content: ""; -} - -.fa-binoculars:before { - content: ""; -} - -.fa-plug:before { - content: ""; -} - -.fa-slideshare:before { - content: ""; -} - -.fa-twitch:before { - content: ""; -} - -.fa-yelp:before { - content: ""; -} - -.fa-newspaper-o:before { - content: ""; -} - -.fa-wifi:before { - content: ""; -} - -.fa-calculator:before { - content: ""; -} - -.fa-paypal:before { - content: ""; -} - -.fa-google-wallet:before { - content: ""; -} - -.fa-cc-visa:before { - content: ""; -} - -.fa-cc-mastercard:before { - content: ""; -} - -.fa-cc-discover:before { - content: ""; -} - -.fa-cc-amex:before { - content: ""; -} - -.fa-cc-paypal:before { - content: ""; -} - -.fa-cc-stripe:before { - content: ""; -} - -.fa-bell-slash:before { - content: ""; -} - -.fa-bell-slash-o:before { - content: ""; -} - -.fa-trash:before { - content: ""; -} - -.fa-copyright:before { - content: ""; -} - -.fa-at:before { - content: ""; -} - -.fa-eyedropper:before { - content: ""; -} - -.fa-paint-brush:before { - content: ""; -} - -.fa-birthday-cake:before { - content: ""; -} - -.fa-area-chart:before { - content: ""; -} - -.fa-pie-chart:before { - content: ""; -} - -.fa-line-chart:before { - content: ""; -} - -.fa-lastfm:before { - content: ""; -} - -.fa-lastfm-square:before { - content: ""; -} - -.fa-toggle-off:before { - content: ""; -} - -.fa-toggle-on:before { - content: ""; -} - -.fa-bicycle:before { - content: ""; -} - -.fa-bus:before { - content: ""; -} - -.fa-ioxhost:before { - content: ""; -} - -.fa-angellist:before { - content: ""; -} - -.fa-cc:before { - content: ""; -} - -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: ""; -} - -.fa-meanpath:before { - content: ""; -} - -.fa, .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, .rst-content .admonition-title, .rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink, .rst-content tt.download span:first-child, .rst-content code.download span:first-child, .icon, .wy-dropdown .caret, .wy-inline-validate.wy-inline-validate-success .wy-input-context, .wy-inline-validate.wy-inline-validate-danger .wy-input-context, .wy-inline-validate.wy-inline-validate-warning .wy-input-context, .wy-inline-validate.wy-inline-validate-info .wy-input-context { - font-family: inherit; -} -.fa:before, .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li.on a span.toctree-expand:before, .wy-menu-vertical li.current > a span.toctree-expand:before, .rst-content .admonition-title:before, .rst-content h1 .headerlink:before, .rst-content h2 .headerlink:before, .rst-content h3 .headerlink:before, .rst-content h4 .headerlink:before, .rst-content h5 .headerlink:before, .rst-content h6 .headerlink:before, .rst-content dl dt .headerlink:before, .rst-content p.caption .headerlink:before, .rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before, .icon:before, .wy-dropdown .caret:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before { - font-family: "FontAwesome"; - display: inline-block; - font-style: normal; - font-weight: normal; - line-height: 1; - text-decoration: inherit; -} - -a .fa, a .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li a span.toctree-expand, .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand, a .rst-content .admonition-title, .rst-content a .admonition-title, a .rst-content h1 .headerlink, .rst-content h1 a .headerlink, a .rst-content h2 .headerlink, .rst-content h2 a .headerlink, a .rst-content h3 .headerlink, .rst-content h3 a .headerlink, a .rst-content h4 .headerlink, .rst-content h4 a .headerlink, a .rst-content h5 .headerlink, .rst-content h5 a .headerlink, a .rst-content h6 .headerlink, .rst-content h6 a .headerlink, a .rst-content dl dt .headerlink, .rst-content dl dt a .headerlink, a .rst-content p.caption .headerlink, .rst-content p.caption a .headerlink, a .rst-content tt.download span:first-child, .rst-content tt.download a span:first-child, a .rst-content code.download span:first-child, .rst-content code.download a span:first-child, a .icon { - display: inline-block; - text-decoration: inherit; -} - -.btn .fa, .btn .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .btn span.toctree-expand, .btn .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.on a .btn span.toctree-expand, .btn .wy-menu-vertical li.current > a span.toctree-expand, .wy-menu-vertical li.current > a .btn span.toctree-expand, .btn .rst-content .admonition-title, .rst-content .btn .admonition-title, .btn .rst-content h1 .headerlink, .rst-content h1 .btn .headerlink, .btn .rst-content h2 .headerlink, .rst-content h2 .btn .headerlink, .btn .rst-content h3 .headerlink, .rst-content h3 .btn .headerlink, .btn .rst-content h4 .headerlink, .rst-content h4 .btn .headerlink, .btn .rst-content h5 .headerlink, .rst-content h5 .btn .headerlink, .btn .rst-content h6 .headerlink, .rst-content h6 .btn .headerlink, .btn .rst-content dl dt .headerlink, .rst-content dl dt .btn .headerlink, .btn .rst-content p.caption .headerlink, .rst-content p.caption .btn .headerlink, .btn .rst-content tt.download span:first-child, .rst-content tt.download .btn span:first-child, .btn .rst-content code.download span:first-child, .rst-content code.download .btn span:first-child, .btn .icon, .nav .fa, .nav .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .nav span.toctree-expand, .nav .wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.on a .nav span.toctree-expand, .nav .wy-menu-vertical li.current > a span.toctree-expand, .wy-menu-vertical li.current > a .nav span.toctree-expand, .nav .rst-content .admonition-title, .rst-content .nav .admonition-title, .nav .rst-content h1 .headerlink, .rst-content h1 .nav .headerlink, .nav .rst-content h2 .headerlink, .rst-content h2 .nav .headerlink, .nav .rst-content h3 .headerlink, .rst-content h3 .nav .headerlink, .nav .rst-content h4 .headerlink, .rst-content h4 .nav .headerlink, .nav .rst-content h5 .headerlink, .rst-content h5 .nav .headerlink, .nav .rst-content h6 .headerlink, .rst-content h6 .nav .headerlink, .nav .rst-content dl dt .headerlink, .rst-content dl dt .nav .headerlink, .nav .rst-content p.caption .headerlink, .rst-content p.caption .nav .headerlink, .nav .rst-content tt.download span:first-child, .rst-content tt.download .nav span:first-child, .nav .rst-content code.download span:first-child, .rst-content code.download .nav span:first-child, .nav .icon { - display: inline; -} -.btn .fa.fa-large, .btn .wy-menu-vertical li span.fa-large.toctree-expand, .wy-menu-vertical li .btn span.fa-large.toctree-expand, .btn .rst-content .fa-large.admonition-title, .rst-content .btn .fa-large.admonition-title, .btn .rst-content h1 .fa-large.headerlink, .rst-content h1 .btn .fa-large.headerlink, .btn .rst-content h2 .fa-large.headerlink, .rst-content h2 .btn .fa-large.headerlink, .btn .rst-content h3 .fa-large.headerlink, .rst-content h3 .btn .fa-large.headerlink, .btn .rst-content h4 .fa-large.headerlink, .rst-content h4 .btn .fa-large.headerlink, .btn .rst-content h5 .fa-large.headerlink, .rst-content h5 .btn .fa-large.headerlink, .btn .rst-content h6 .fa-large.headerlink, .rst-content h6 .btn .fa-large.headerlink, .btn .rst-content dl dt .fa-large.headerlink, .rst-content dl dt .btn .fa-large.headerlink, .btn .rst-content p.caption .fa-large.headerlink, .rst-content p.caption .btn .fa-large.headerlink, .btn .rst-content tt.download span.fa-large:first-child, .rst-content tt.download .btn span.fa-large:first-child, .btn .rst-content code.download span.fa-large:first-child, .rst-content code.download .btn span.fa-large:first-child, .btn .fa-large.icon, .nav .fa.fa-large, .nav .wy-menu-vertical li span.fa-large.toctree-expand, .wy-menu-vertical li .nav span.fa-large.toctree-expand, .nav .rst-content .fa-large.admonition-title, .rst-content .nav .fa-large.admonition-title, .nav .rst-content h1 .fa-large.headerlink, .rst-content h1 .nav .fa-large.headerlink, .nav .rst-content h2 .fa-large.headerlink, .rst-content h2 .nav .fa-large.headerlink, .nav .rst-content h3 .fa-large.headerlink, .rst-content h3 .nav .fa-large.headerlink, .nav .rst-content h4 .fa-large.headerlink, .rst-content h4 .nav .fa-large.headerlink, .nav .rst-content h5 .fa-large.headerlink, .rst-content h5 .nav .fa-large.headerlink, .nav .rst-content h6 .fa-large.headerlink, .rst-content h6 .nav .fa-large.headerlink, .nav .rst-content dl dt .fa-large.headerlink, .rst-content dl dt .nav .fa-large.headerlink, .nav .rst-content p.caption .fa-large.headerlink, .rst-content p.caption .nav .fa-large.headerlink, .nav .rst-content tt.download span.fa-large:first-child, .rst-content tt.download .nav span.fa-large:first-child, .nav .rst-content code.download span.fa-large:first-child, .rst-content code.download .nav span.fa-large:first-child, .nav .fa-large.icon { - line-height: 0.9em; -} -.btn .fa.fa-spin, .btn .wy-menu-vertical li span.fa-spin.toctree-expand, .wy-menu-vertical li .btn span.fa-spin.toctree-expand, .btn .rst-content .fa-spin.admonition-title, .rst-content .btn .fa-spin.admonition-title, .btn .rst-content h1 .fa-spin.headerlink, .rst-content h1 .btn .fa-spin.headerlink, .btn .rst-content h2 .fa-spin.headerlink, .rst-content h2 .btn .fa-spin.headerlink, .btn .rst-content h3 .fa-spin.headerlink, .rst-content h3 .btn .fa-spin.headerlink, .btn .rst-content h4 .fa-spin.headerlink, .rst-content h4 .btn .fa-spin.headerlink, .btn .rst-content h5 .fa-spin.headerlink, .rst-content h5 .btn .fa-spin.headerlink, .btn .rst-content h6 .fa-spin.headerlink, .rst-content h6 .btn .fa-spin.headerlink, .btn .rst-content dl dt .fa-spin.headerlink, .rst-content dl dt .btn .fa-spin.headerlink, .btn .rst-content p.caption .fa-spin.headerlink, .rst-content p.caption .btn .fa-spin.headerlink, .btn .rst-content tt.download span.fa-spin:first-child, .rst-content tt.download .btn span.fa-spin:first-child, .btn .rst-content code.download span.fa-spin:first-child, .rst-content code.download .btn span.fa-spin:first-child, .btn .fa-spin.icon, .nav .fa.fa-spin, .nav .wy-menu-vertical li span.fa-spin.toctree-expand, .wy-menu-vertical li .nav span.fa-spin.toctree-expand, .nav .rst-content .fa-spin.admonition-title, .rst-content .nav .fa-spin.admonition-title, .nav .rst-content h1 .fa-spin.headerlink, .rst-content h1 .nav .fa-spin.headerlink, .nav .rst-content h2 .fa-spin.headerlink, .rst-content h2 .nav .fa-spin.headerlink, .nav .rst-content h3 .fa-spin.headerlink, .rst-content h3 .nav .fa-spin.headerlink, .nav .rst-content h4 .fa-spin.headerlink, .rst-content h4 .nav .fa-spin.headerlink, .nav .rst-content h5 .fa-spin.headerlink, .rst-content h5 .nav .fa-spin.headerlink, .nav .rst-content h6 .fa-spin.headerlink, .rst-content h6 .nav .fa-spin.headerlink, .nav .rst-content dl dt .fa-spin.headerlink, .rst-content dl dt .nav .fa-spin.headerlink, .nav .rst-content p.caption .fa-spin.headerlink, .rst-content p.caption .nav .fa-spin.headerlink, .nav .rst-content tt.download span.fa-spin:first-child, .rst-content tt.download .nav span.fa-spin:first-child, .nav .rst-content code.download span.fa-spin:first-child, .rst-content code.download .nav span.fa-spin:first-child, .nav .fa-spin.icon { - display: inline-block; -} - -.btn.fa:before, .wy-menu-vertical li span.btn.toctree-expand:before, .rst-content .btn.admonition-title:before, .rst-content h1 .btn.headerlink:before, .rst-content h2 .btn.headerlink:before, .rst-content h3 .btn.headerlink:before, .rst-content h4 .btn.headerlink:before, .rst-content h5 .btn.headerlink:before, .rst-content h6 .btn.headerlink:before, .rst-content dl dt .btn.headerlink:before, .rst-content p.caption .btn.headerlink:before, .rst-content tt.download span.btn:first-child:before, .rst-content code.download span.btn:first-child:before, .btn.icon:before { - opacity: 0.5; - -webkit-transition: opacity 0.05s ease-in; - -moz-transition: opacity 0.05s ease-in; - transition: opacity 0.05s ease-in; -} - -.btn.fa:hover:before, .wy-menu-vertical li span.btn.toctree-expand:hover:before, .rst-content .btn.admonition-title:hover:before, .rst-content h1 .btn.headerlink:hover:before, .rst-content h2 .btn.headerlink:hover:before, .rst-content h3 .btn.headerlink:hover:before, .rst-content h4 .btn.headerlink:hover:before, .rst-content h5 .btn.headerlink:hover:before, .rst-content h6 .btn.headerlink:hover:before, .rst-content dl dt .btn.headerlink:hover:before, .rst-content p.caption .btn.headerlink:hover:before, .rst-content tt.download span.btn:first-child:hover:before, .rst-content code.download span.btn:first-child:hover:before, .btn.icon:hover:before { - opacity: 1; -} - -.btn-mini .fa:before, .btn-mini .wy-menu-vertical li span.toctree-expand:before, .wy-menu-vertical li .btn-mini span.toctree-expand:before, .btn-mini .rst-content .admonition-title:before, .rst-content .btn-mini .admonition-title:before, .btn-mini .rst-content h1 .headerlink:before, .rst-content h1 .btn-mini .headerlink:before, .btn-mini .rst-content h2 .headerlink:before, .rst-content h2 .btn-mini .headerlink:before, .btn-mini .rst-content h3 .headerlink:before, .rst-content h3 .btn-mini .headerlink:before, .btn-mini .rst-content h4 .headerlink:before, .rst-content h4 .btn-mini .headerlink:before, .btn-mini .rst-content h5 .headerlink:before, .rst-content h5 .btn-mini .headerlink:before, .btn-mini .rst-content h6 .headerlink:before, .rst-content h6 .btn-mini .headerlink:before, .btn-mini .rst-content dl dt .headerlink:before, .rst-content dl dt .btn-mini .headerlink:before, .btn-mini .rst-content p.caption .headerlink:before, .rst-content p.caption .btn-mini .headerlink:before, .btn-mini .rst-content tt.download span:first-child:before, .rst-content tt.download .btn-mini span:first-child:before, .btn-mini .rst-content code.download span:first-child:before, .rst-content code.download .btn-mini span:first-child:before, .btn-mini .icon:before { - font-size: 14px; - vertical-align: -15%; -} - -.wy-alert, .rst-content .note, .rst-content .attention, .rst-content .caution, .rst-content .danger, .rst-content .error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .warning, .rst-content .seealso, .rst-content .admonition-todo { - padding: 12px; - line-height: 24px; - margin-bottom: 24px; - background: #e7f2fa; -} - -.wy-alert-title, .rst-content .admonition-title { - color: #fff; - font-weight: bold; - display: block; - color: #fff; - background: #6ab0de; - margin: -12px; - padding: 6px 12px; - margin-bottom: 12px; -} - -.wy-alert.wy-alert-danger, .rst-content .wy-alert-danger.note, .rst-content .wy-alert-danger.attention, .rst-content .wy-alert-danger.caution, .rst-content .danger, .rst-content .error, .rst-content .wy-alert-danger.hint, .rst-content .wy-alert-danger.important, .rst-content .wy-alert-danger.tip, .rst-content .wy-alert-danger.warning, .rst-content .wy-alert-danger.seealso, .rst-content .wy-alert-danger.admonition-todo { - background: #fdf3f2; -} -.wy-alert.wy-alert-danger .wy-alert-title, .rst-content .wy-alert-danger.note .wy-alert-title, .rst-content .wy-alert-danger.attention .wy-alert-title, .rst-content .wy-alert-danger.caution .wy-alert-title, .rst-content .danger .wy-alert-title, .rst-content .error .wy-alert-title, .rst-content .wy-alert-danger.hint .wy-alert-title, .rst-content .wy-alert-danger.important .wy-alert-title, .rst-content .wy-alert-danger.tip .wy-alert-title, .rst-content .wy-alert-danger.warning .wy-alert-title, .rst-content .wy-alert-danger.seealso .wy-alert-title, .rst-content .wy-alert-danger.admonition-todo .wy-alert-title, .wy-alert.wy-alert-danger .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-danger .admonition-title, .rst-content .wy-alert-danger.note .admonition-title, .rst-content .wy-alert-danger.attention .admonition-title, .rst-content .wy-alert-danger.caution .admonition-title, .rst-content .danger .admonition-title, .rst-content .error .admonition-title, .rst-content .wy-alert-danger.hint .admonition-title, .rst-content .wy-alert-danger.important .admonition-title, .rst-content .wy-alert-danger.tip .admonition-title, .rst-content .wy-alert-danger.warning .admonition-title, .rst-content .wy-alert-danger.seealso .admonition-title, .rst-content .wy-alert-danger.admonition-todo .admonition-title { - background: #f29f97; -} - -.wy-alert.wy-alert-warning, .rst-content .wy-alert-warning.note, .rst-content .attention, .rst-content .caution, .rst-content .wy-alert-warning.danger, .rst-content .wy-alert-warning.error, .rst-content .wy-alert-warning.hint, .rst-content .wy-alert-warning.important, .rst-content .wy-alert-warning.tip, .rst-content .warning, .rst-content .wy-alert-warning.seealso, .rst-content .admonition-todo { - background: #ffedcc; -} -.wy-alert.wy-alert-warning .wy-alert-title, .rst-content .wy-alert-warning.note .wy-alert-title, .rst-content .attention .wy-alert-title, .rst-content .caution .wy-alert-title, .rst-content .wy-alert-warning.danger .wy-alert-title, .rst-content .wy-alert-warning.error .wy-alert-title, .rst-content .wy-alert-warning.hint .wy-alert-title, .rst-content .wy-alert-warning.important .wy-alert-title, .rst-content .wy-alert-warning.tip .wy-alert-title, .rst-content .warning .wy-alert-title, .rst-content .wy-alert-warning.seealso .wy-alert-title, .rst-content .admonition-todo .wy-alert-title, .wy-alert.wy-alert-warning .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-warning .admonition-title, .rst-content .wy-alert-warning.note .admonition-title, .rst-content .attention .admonition-title, .rst-content .caution .admonition-title, .rst-content .wy-alert-warning.danger .admonition-title, .rst-content .wy-alert-warning.error .admonition-title, .rst-content .wy-alert-warning.hint .admonition-title, .rst-content .wy-alert-warning.important .admonition-title, .rst-content .wy-alert-warning.tip .admonition-title, .rst-content .warning .admonition-title, .rst-content .wy-alert-warning.seealso .admonition-title, .rst-content .admonition-todo .admonition-title { - background: #f0b37e; -} - -.wy-alert.wy-alert-info, .rst-content .note, .rst-content .wy-alert-info.attention, .rst-content .wy-alert-info.caution, .rst-content .wy-alert-info.danger, .rst-content .wy-alert-info.error, .rst-content .wy-alert-info.hint, .rst-content .wy-alert-info.important, .rst-content .wy-alert-info.tip, .rst-content .wy-alert-info.warning, .rst-content .seealso, .rst-content .wy-alert-info.admonition-todo { - background: #e7f2fa; -} -.wy-alert.wy-alert-info .wy-alert-title, .rst-content .note .wy-alert-title, .rst-content .wy-alert-info.attention .wy-alert-title, .rst-content .wy-alert-info.caution .wy-alert-title, .rst-content .wy-alert-info.danger .wy-alert-title, .rst-content .wy-alert-info.error .wy-alert-title, .rst-content .wy-alert-info.hint .wy-alert-title, .rst-content .wy-alert-info.important .wy-alert-title, .rst-content .wy-alert-info.tip .wy-alert-title, .rst-content .wy-alert-info.warning .wy-alert-title, .rst-content .seealso .wy-alert-title, .rst-content .wy-alert-info.admonition-todo .wy-alert-title, .wy-alert.wy-alert-info .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-info .admonition-title, .rst-content .note .admonition-title, .rst-content .wy-alert-info.attention .admonition-title, .rst-content .wy-alert-info.caution .admonition-title, .rst-content .wy-alert-info.danger .admonition-title, .rst-content .wy-alert-info.error .admonition-title, .rst-content .wy-alert-info.hint .admonition-title, .rst-content .wy-alert-info.important .admonition-title, .rst-content .wy-alert-info.tip .admonition-title, .rst-content .wy-alert-info.warning .admonition-title, .rst-content .seealso .admonition-title, .rst-content .wy-alert-info.admonition-todo .admonition-title { - background: #6ab0de; -} - -.wy-alert.wy-alert-success, .rst-content .wy-alert-success.note, .rst-content .wy-alert-success.attention, .rst-content .wy-alert-success.caution, .rst-content .wy-alert-success.danger, .rst-content .wy-alert-success.error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .wy-alert-success.warning, .rst-content .wy-alert-success.seealso, .rst-content .wy-alert-success.admonition-todo { - background: #dbfaf4; -} -.wy-alert.wy-alert-success .wy-alert-title, .rst-content .wy-alert-success.note .wy-alert-title, .rst-content .wy-alert-success.attention .wy-alert-title, .rst-content .wy-alert-success.caution .wy-alert-title, .rst-content .wy-alert-success.danger .wy-alert-title, .rst-content .wy-alert-success.error .wy-alert-title, .rst-content .hint .wy-alert-title, .rst-content .important .wy-alert-title, .rst-content .tip .wy-alert-title, .rst-content .wy-alert-success.warning .wy-alert-title, .rst-content .wy-alert-success.seealso .wy-alert-title, .rst-content .wy-alert-success.admonition-todo .wy-alert-title, .wy-alert.wy-alert-success .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-success .admonition-title, .rst-content .wy-alert-success.note .admonition-title, .rst-content .wy-alert-success.attention .admonition-title, .rst-content .wy-alert-success.caution .admonition-title, .rst-content .wy-alert-success.danger .admonition-title, .rst-content .wy-alert-success.error .admonition-title, .rst-content .hint .admonition-title, .rst-content .important .admonition-title, .rst-content .tip .admonition-title, .rst-content .wy-alert-success.warning .admonition-title, .rst-content .wy-alert-success.seealso .admonition-title, .rst-content .wy-alert-success.admonition-todo .admonition-title { - background: #1abc9c; -} - -.wy-alert.wy-alert-neutral, .rst-content .wy-alert-neutral.note, .rst-content .wy-alert-neutral.attention, .rst-content .wy-alert-neutral.caution, .rst-content .wy-alert-neutral.danger, .rst-content .wy-alert-neutral.error, .rst-content .wy-alert-neutral.hint, .rst-content .wy-alert-neutral.important, .rst-content .wy-alert-neutral.tip, .rst-content .wy-alert-neutral.warning, .rst-content .wy-alert-neutral.seealso, .rst-content .wy-alert-neutral.admonition-todo { - background: #f3f6f6; -} -.wy-alert.wy-alert-neutral .wy-alert-title, .rst-content .wy-alert-neutral.note .wy-alert-title, .rst-content .wy-alert-neutral.attention .wy-alert-title, .rst-content .wy-alert-neutral.caution .wy-alert-title, .rst-content .wy-alert-neutral.danger .wy-alert-title, .rst-content .wy-alert-neutral.error .wy-alert-title, .rst-content .wy-alert-neutral.hint .wy-alert-title, .rst-content .wy-alert-neutral.important .wy-alert-title, .rst-content .wy-alert-neutral.tip .wy-alert-title, .rst-content .wy-alert-neutral.warning .wy-alert-title, .rst-content .wy-alert-neutral.seealso .wy-alert-title, .rst-content .wy-alert-neutral.admonition-todo .wy-alert-title, .wy-alert.wy-alert-neutral .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-neutral .admonition-title, .rst-content .wy-alert-neutral.note .admonition-title, .rst-content .wy-alert-neutral.attention .admonition-title, .rst-content .wy-alert-neutral.caution .admonition-title, .rst-content .wy-alert-neutral.danger .admonition-title, .rst-content .wy-alert-neutral.error .admonition-title, .rst-content .wy-alert-neutral.hint .admonition-title, .rst-content .wy-alert-neutral.important .admonition-title, .rst-content .wy-alert-neutral.tip .admonition-title, .rst-content .wy-alert-neutral.warning .admonition-title, .rst-content .wy-alert-neutral.seealso .admonition-title, .rst-content .wy-alert-neutral.admonition-todo .admonition-title { - color: #404040; - background: #e1e4e5; -} -.wy-alert.wy-alert-neutral a, .rst-content .wy-alert-neutral.note a, .rst-content .wy-alert-neutral.attention a, .rst-content .wy-alert-neutral.caution a, .rst-content .wy-alert-neutral.danger a, .rst-content .wy-alert-neutral.error a, .rst-content .wy-alert-neutral.hint a, .rst-content .wy-alert-neutral.important a, .rst-content .wy-alert-neutral.tip a, .rst-content .wy-alert-neutral.warning a, .rst-content .wy-alert-neutral.seealso a, .rst-content .wy-alert-neutral.admonition-todo a { - color: #2980B9; -} - -.wy-alert p:last-child, .rst-content .note p:last-child, .rst-content .attention p:last-child, .rst-content .caution p:last-child, .rst-content .danger p:last-child, .rst-content .error p:last-child, .rst-content .hint p:last-child, .rst-content .important p:last-child, .rst-content .tip p:last-child, .rst-content .warning p:last-child, .rst-content .seealso p:last-child, .rst-content .admonition-todo p:last-child { - margin-bottom: 0; -} - -.wy-tray-container { - position: fixed; - bottom: 0px; - left: 0; - z-index: 600; -} -.wy-tray-container li { - display: block; - width: 300px; - background: transparent; - color: #fff; - text-align: center; - box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.1); - padding: 0 24px; - min-width: 20%; - opacity: 0; - height: 0; - line-height: 56px; - overflow: hidden; - -webkit-transition: all 0.3s ease-in; - -moz-transition: all 0.3s ease-in; - transition: all 0.3s ease-in; -} -.wy-tray-container li.wy-tray-item-success { - background: #27AE60; -} -.wy-tray-container li.wy-tray-item-info { - background: #2980B9; -} -.wy-tray-container li.wy-tray-item-warning { - background: #E67E22; -} -.wy-tray-container li.wy-tray-item-danger { - background: #E74C3C; -} -.wy-tray-container li.on { - opacity: 1; - height: 56px; -} - -@media screen and (max-width: 768px) { - .wy-tray-container { - bottom: auto; - top: 0; - width: 100%; - } - .wy-tray-container li { - width: 100%; - } -} -button { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle; - cursor: pointer; - line-height: normal; - -webkit-appearance: button; - *overflow: visible; -} - -button::-moz-focus-inner, input::-moz-focus-inner { - border: 0; - padding: 0; -} - -button[disabled] { - cursor: default; -} - -.btn { - /* Structure */ - display: inline-block; - border-radius: 2px; - line-height: normal; - white-space: nowrap; - text-align: center; - cursor: pointer; - font-size: 100%; - padding: 6px 12px 8px 12px; - color: #fff; - border: 1px solid rgba(0, 0, 0, 0.1); - background-color: #27AE60; - text-decoration: none; - font-weight: normal; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - box-shadow: 0px 1px 2px -1px rgba(255, 255, 255, 0.5) inset, 0px -2px 0px 0px rgba(0, 0, 0, 0.1) inset; - outline-none: false; - vertical-align: middle; - *display: inline; - zoom: 1; - -webkit-user-drag: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-transition: all 0.1s linear; - -moz-transition: all 0.1s linear; - transition: all 0.1s linear; -} - -.btn-hover { - background: #2e8ece; - color: #fff; -} - -.btn:hover { - background: #2cc36b; - color: #fff; -} -.btn:focus { - background: #2cc36b; - outline: 0; -} -.btn:active { - box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.05) inset, 0px 2px 0px 0px rgba(0, 0, 0, 0.1) inset; - padding: 8px 12px 6px 12px; -} -.btn:visited { - color: #fff; -} -.btn:disabled { - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - filter: alpha(opacity=40); - opacity: 0.4; - cursor: not-allowed; - box-shadow: none; -} - -.btn-disabled { - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - filter: alpha(opacity=40); - opacity: 0.4; - cursor: not-allowed; - box-shadow: none; -} -.btn-disabled:hover, .btn-disabled:focus, .btn-disabled:active { - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - filter: alpha(opacity=40); - opacity: 0.4; - cursor: not-allowed; - box-shadow: none; -} - -.btn::-moz-focus-inner { - padding: 0; - border: 0; -} - -.btn-small { - font-size: 80%; -} - -.btn-info { - background-color: #2980B9 !important; -} -.btn-info:hover { - background-color: #2e8ece !important; -} - -.btn-neutral { - background-color: #f3f6f6 !important; - color: #404040 !important; -} -.btn-neutral:hover { - background-color: #e5ebeb !important; - color: #404040; -} -.btn-neutral:visited { - color: #404040 !important; -} - -.btn-success { - background-color: #27AE60 !important; -} -.btn-success:hover { - background-color: #229955 !important; -} - -.btn-danger { - background-color: #E74C3C !important; -} -.btn-danger:hover { - background-color: #ea6153 !important; -} - -.btn-warning { - background-color: #E67E22 !important; -} -.btn-warning:hover { - background-color: #e98b39 !important; -} - -.btn-invert { - background-color: #222; -} -.btn-invert:hover { - background-color: #2f2f2f !important; -} - -.btn-link { - background-color: transparent !important; - color: #2980B9; - box-shadow: none; - border-color: transparent !important; -} -.btn-link:hover { - background-color: transparent !important; - color: #409ad5 !important; - box-shadow: none; -} -.btn-link:active { - background-color: transparent !important; - color: #409ad5 !important; - box-shadow: none; -} -.btn-link:visited { - color: #9B59B6; -} - -.wy-btn-group .btn, .wy-control .btn { - vertical-align: middle; -} - -.wy-btn-group { - margin-bottom: 24px; - *zoom: 1; -} -.wy-btn-group:before, .wy-btn-group:after { - display: table; - content: ""; -} -.wy-btn-group:after { - clear: both; -} - -.wy-dropdown { - position: relative; - display: inline-block; -} - -.wy-dropdown-active .wy-dropdown-menu { - display: block; -} - -.wy-dropdown-menu { - position: absolute; - left: 0; - display: none; - float: left; - top: 100%; - min-width: 100%; - background: #fcfcfc; - z-index: 100; - border: solid 1px #cfd7dd; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1); - padding: 12px; -} -.wy-dropdown-menu > dd > a { - display: block; - clear: both; - color: #404040; - white-space: nowrap; - font-size: 90%; - padding: 0 12px; - cursor: pointer; -} -.wy-dropdown-menu > dd > a:hover { - background: #2980B9; - color: #fff; -} -.wy-dropdown-menu > dd.divider { - border-top: solid 1px #cfd7dd; - margin: 6px 0; -} -.wy-dropdown-menu > dd.search { - padding-bottom: 12px; -} -.wy-dropdown-menu > dd.search input[type="search"] { - width: 100%; -} -.wy-dropdown-menu > dd.call-to-action { - background: #e3e3e3; - text-transform: uppercase; - font-weight: 500; - font-size: 80%; -} -.wy-dropdown-menu > dd.call-to-action:hover { - background: #e3e3e3; -} -.wy-dropdown-menu > dd.call-to-action .btn { - color: #fff; -} - -.wy-dropdown.wy-dropdown-up .wy-dropdown-menu { - bottom: 100%; - top: auto; - left: auto; - right: 0; -} - -.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu { - background: #fcfcfc; - margin-top: 2px; -} -.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a { - padding: 6px 12px; -} -.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover { - background: #2980B9; - color: #fff; -} - -.wy-dropdown.wy-dropdown-left .wy-dropdown-menu { - right: 0; - left: auto; - text-align: right; -} - -.wy-dropdown-arrow:before { - content: " "; - border-bottom: 5px solid whitesmoke; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - position: absolute; - display: block; - top: -4px; - left: 50%; - margin-left: -3px; -} -.wy-dropdown-arrow.wy-dropdown-arrow-left:before { - left: 11px; -} - -.wy-form-stacked select { - display: block; -} - -.wy-form-aligned input, .wy-form-aligned textarea, .wy-form-aligned select, .wy-form-aligned .wy-help-inline, .wy-form-aligned label { - display: inline-block; - *display: inline; - *zoom: 1; - vertical-align: middle; -} - -.wy-form-aligned .wy-control-group > label { - display: inline-block; - vertical-align: middle; - width: 10em; - margin: 6px 12px 0 0; - float: left; -} -.wy-form-aligned .wy-control { - float: left; -} -.wy-form-aligned .wy-control label { - display: block; -} -.wy-form-aligned .wy-control select { - margin-top: 6px; -} - -fieldset { - border: 0; - margin: 0; - padding: 0; -} - -legend { - display: block; - width: 100%; - border: 0; - padding: 0; - white-space: normal; - margin-bottom: 24px; - font-size: 150%; - *margin-left: -7px; -} - -label { - display: block; - margin: 0 0 0.3125em 0; - color: #333; - font-size: 90%; -} - -input, select, textarea { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle; -} - -.wy-control-group { - margin-bottom: 24px; - *zoom: 1; - max-width: 68em; - margin-left: auto; - margin-right: auto; - *zoom: 1; -} -.wy-control-group:before, .wy-control-group:after { - display: table; - content: ""; -} -.wy-control-group:after { - clear: both; -} -.wy-control-group:before, .wy-control-group:after { - display: table; - content: ""; -} -.wy-control-group:after { - clear: both; -} - -.wy-control-group.wy-control-group-required > label:after { - content: " *"; - color: #E74C3C; -} - -.wy-control-group .wy-form-full, .wy-control-group .wy-form-halves, .wy-control-group .wy-form-thirds { - padding-bottom: 12px; -} -.wy-control-group .wy-form-full select, .wy-control-group .wy-form-halves select, .wy-control-group .wy-form-thirds select { - width: 100%; -} -.wy-control-group .wy-form-full input[type="text"], .wy-control-group .wy-form-full input[type="password"], .wy-control-group .wy-form-full input[type="email"], .wy-control-group .wy-form-full input[type="url"], .wy-control-group .wy-form-full input[type="date"], .wy-control-group .wy-form-full input[type="month"], .wy-control-group .wy-form-full input[type="time"], .wy-control-group .wy-form-full input[type="datetime"], .wy-control-group .wy-form-full input[type="datetime-local"], .wy-control-group .wy-form-full input[type="week"], .wy-control-group .wy-form-full input[type="number"], .wy-control-group .wy-form-full input[type="search"], .wy-control-group .wy-form-full input[type="tel"], .wy-control-group .wy-form-full input[type="color"], .wy-control-group .wy-form-halves input[type="text"], .wy-control-group .wy-form-halves input[type="password"], .wy-control-group .wy-form-halves input[type="email"], .wy-control-group .wy-form-halves input[type="url"], .wy-control-group .wy-form-halves input[type="date"], .wy-control-group .wy-form-halves input[type="month"], .wy-control-group .wy-form-halves input[type="time"], .wy-control-group .wy-form-halves input[type="datetime"], .wy-control-group .wy-form-halves input[type="datetime-local"], .wy-control-group .wy-form-halves input[type="week"], .wy-control-group .wy-form-halves input[type="number"], .wy-control-group .wy-form-halves input[type="search"], .wy-control-group .wy-form-halves input[type="tel"], .wy-control-group .wy-form-halves input[type="color"], .wy-control-group .wy-form-thirds input[type="text"], .wy-control-group .wy-form-thirds input[type="password"], .wy-control-group .wy-form-thirds input[type="email"], .wy-control-group .wy-form-thirds input[type="url"], .wy-control-group .wy-form-thirds input[type="date"], .wy-control-group .wy-form-thirds input[type="month"], .wy-control-group .wy-form-thirds input[type="time"], .wy-control-group .wy-form-thirds input[type="datetime"], .wy-control-group .wy-form-thirds input[type="datetime-local"], .wy-control-group .wy-form-thirds input[type="week"], .wy-control-group .wy-form-thirds input[type="number"], .wy-control-group .wy-form-thirds input[type="search"], .wy-control-group .wy-form-thirds input[type="tel"], .wy-control-group .wy-form-thirds input[type="color"] { - width: 100%; -} - -.wy-control-group .wy-form-full { - float: left; - display: block; - margin-right: 2.35765%; - width: 100%; - margin-right: 0; -} -.wy-control-group .wy-form-full:last-child { - margin-right: 0; -} - -.wy-control-group .wy-form-halves { - float: left; - display: block; - margin-right: 2.35765%; - width: 48.82117%; -} -.wy-control-group .wy-form-halves:last-child { - margin-right: 0; -} -.wy-control-group .wy-form-halves:nth-of-type(2n) { - margin-right: 0; -} -.wy-control-group .wy-form-halves:nth-of-type(2n+1) { - clear: left; -} - -.wy-control-group .wy-form-thirds { - float: left; - display: block; - margin-right: 2.35765%; - width: 31.76157%; -} -.wy-control-group .wy-form-thirds:last-child { - margin-right: 0; -} -.wy-control-group .wy-form-thirds:nth-of-type(3n) { - margin-right: 0; -} -.wy-control-group .wy-form-thirds:nth-of-type(3n+1) { - clear: left; -} - -.wy-control-group.wy-control-group-no-input .wy-control { - margin: 6px 0 0 0; - font-size: 90%; -} - -.wy-control-no-input { - display: inline-block; - margin: 6px 0 0 0; - font-size: 90%; -} - -.wy-control-group.fluid-input input[type="text"], .wy-control-group.fluid-input input[type="password"], .wy-control-group.fluid-input input[type="email"], .wy-control-group.fluid-input input[type="url"], .wy-control-group.fluid-input input[type="date"], .wy-control-group.fluid-input input[type="month"], .wy-control-group.fluid-input input[type="time"], .wy-control-group.fluid-input input[type="datetime"], .wy-control-group.fluid-input input[type="datetime-local"], .wy-control-group.fluid-input input[type="week"], .wy-control-group.fluid-input input[type="number"], .wy-control-group.fluid-input input[type="search"], .wy-control-group.fluid-input input[type="tel"], .wy-control-group.fluid-input input[type="color"] { - width: 100%; -} - -.wy-form-message-inline { - display: inline-block; - padding-left: 0.3em; - color: #666; - vertical-align: middle; - font-size: 90%; -} - -.wy-form-message { - display: block; - color: #999; - font-size: 70%; - margin-top: 0.3125em; - font-style: italic; -} -.wy-form-message p { - font-size: inherit; - font-style: italic; - margin-bottom: 6px; -} -.wy-form-message p:last-child { - margin-bottom: 0; -} - -input { - line-height: normal; -} - -input[type="button"], input[type="reset"], input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - *overflow: visible; -} -input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"], input[type="tel"], input[type="color"] { - -webkit-appearance: none; - padding: 6px; - display: inline-block; - border: 1px solid #ccc; - font-size: 80%; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - box-shadow: inset 0 1px 3px #ddd; - border-radius: 0; - -webkit-transition: border 0.3s linear; - -moz-transition: border 0.3s linear; - transition: border 0.3s linear; -} -input[type="datetime-local"] { - padding: 0.34375em 0.625em; -} -input[disabled] { - cursor: default; -} -input[type="checkbox"], input[type="radio"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0; - margin-right: 0.3125em; - *height: 13px; - *width: 13px; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus { - outline: 0; - outline: thin dotted \9; - border-color: #333; -} -input.no-focus:focus { - border-color: #ccc !important; -} -input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { - outline: thin dotted #333; - outline: 1px auto #129FEA; -} -input[type="text"][disabled], input[type="password"][disabled], input[type="email"][disabled], input[type="url"][disabled], input[type="date"][disabled], input[type="month"][disabled], input[type="time"][disabled], input[type="datetime"][disabled], input[type="datetime-local"][disabled], input[type="week"][disabled], input[type="number"][disabled], input[type="search"][disabled], input[type="tel"][disabled], input[type="color"][disabled] { - cursor: not-allowed; - background-color: #fafafa; -} - -input:focus:invalid, textarea:focus:invalid, select:focus:invalid { - color: #E74C3C; - border: 1px solid #E74C3C; -} - -input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:focus { - border-color: #E74C3C; -} - -input[type="file"]:focus:invalid:focus, input[type="radio"]:focus:invalid:focus, input[type="checkbox"]:focus:invalid:focus { - outline-color: #E74C3C; -} - -input.wy-input-large { - padding: 12px; - font-size: 100%; -} - -textarea { - overflow: auto; - vertical-align: top; - width: 100%; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; -} - -select, textarea { - padding: 0.5em 0.625em; - display: inline-block; - border: 1px solid #ccc; - font-size: 80%; - box-shadow: inset 0 1px 3px #ddd; - -webkit-transition: border 0.3s linear; - -moz-transition: border 0.3s linear; - transition: border 0.3s linear; -} - -select { - border: 1px solid #ccc; - background-color: #fff; -} -select[multiple] { - height: auto; -} - -select:focus, textarea:focus { - outline: 0; -} - -select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly] { - cursor: not-allowed; - background-color: #fafafa; -} - -input[type="radio"][disabled], input[type="checkbox"][disabled] { - cursor: not-allowed; -} - -.wy-checkbox, .wy-radio { - margin: 6px 0; - color: #404040; - display: block; -} -.wy-checkbox input, .wy-radio input { - vertical-align: baseline; -} - -.wy-form-message-inline { - display: inline-block; - *display: inline; - *zoom: 1; - vertical-align: middle; -} - -.wy-input-prefix, .wy-input-suffix { - white-space: nowrap; - padding: 6px; -} -.wy-input-prefix .wy-input-context, .wy-input-suffix .wy-input-context { - line-height: 27px; - padding: 0 8px; - display: inline-block; - font-size: 80%; - background-color: #f3f6f6; - border: solid 1px #ccc; - color: #999; -} - -.wy-input-suffix .wy-input-context { - border-left: 0; -} - -.wy-input-prefix .wy-input-context { - border-right: 0; -} - -.wy-switch { - width: 36px; - height: 12px; - margin: 12px 0; - position: relative; - border-radius: 4px; - background: #ccc; - cursor: pointer; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} -.wy-switch:before { - position: absolute; - content: ""; - display: block; - width: 18px; - height: 18px; - border-radius: 4px; - background: #999; - left: -3px; - top: -3px; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} -.wy-switch:after { - content: "false"; - position: absolute; - left: 48px; - display: block; - font-size: 12px; - color: #ccc; -} - -.wy-switch.active { - background: #1e8449; -} -.wy-switch.active:before { - left: 24px; - background: #27AE60; -} -.wy-switch.active:after { - content: "true"; -} - -.wy-switch.disabled, .wy-switch.active.disabled { - cursor: not-allowed; -} - -.wy-control-group.wy-control-group-error .wy-form-message, .wy-control-group.wy-control-group-error > label { - color: #E74C3C; -} -.wy-control-group.wy-control-group-error input[type="text"], .wy-control-group.wy-control-group-error input[type="password"], .wy-control-group.wy-control-group-error input[type="email"], .wy-control-group.wy-control-group-error input[type="url"], .wy-control-group.wy-control-group-error input[type="date"], .wy-control-group.wy-control-group-error input[type="month"], .wy-control-group.wy-control-group-error input[type="time"], .wy-control-group.wy-control-group-error input[type="datetime"], .wy-control-group.wy-control-group-error input[type="datetime-local"], .wy-control-group.wy-control-group-error input[type="week"], .wy-control-group.wy-control-group-error input[type="number"], .wy-control-group.wy-control-group-error input[type="search"], .wy-control-group.wy-control-group-error input[type="tel"], .wy-control-group.wy-control-group-error input[type="color"] { - border: solid 1px #E74C3C; -} -.wy-control-group.wy-control-group-error textarea { - border: solid 1px #E74C3C; -} - -.wy-inline-validate { - white-space: nowrap; -} -.wy-inline-validate .wy-input-context { - padding: 0.5em 0.625em; - display: inline-block; - font-size: 80%; -} - -.wy-inline-validate.wy-inline-validate-success .wy-input-context { - color: #27AE60; -} - -.wy-inline-validate.wy-inline-validate-danger .wy-input-context { - color: #E74C3C; -} - -.wy-inline-validate.wy-inline-validate-warning .wy-input-context { - color: #E67E22; -} - -.wy-inline-validate.wy-inline-validate-info .wy-input-context { - color: #2980B9; -} - -.rotate-90 { - -webkit-transform: rotate(90deg); - -moz-transform: rotate(90deg); - -ms-transform: rotate(90deg); - -o-transform: rotate(90deg); - transform: rotate(90deg); -} - -.rotate-180 { - -webkit-transform: rotate(180deg); - -moz-transform: rotate(180deg); - -ms-transform: rotate(180deg); - -o-transform: rotate(180deg); - transform: rotate(180deg); -} - -.rotate-270 { - -webkit-transform: rotate(270deg); - -moz-transform: rotate(270deg); - -ms-transform: rotate(270deg); - -o-transform: rotate(270deg); - transform: rotate(270deg); -} - -.mirror { - -webkit-transform: scaleX(-1); - -moz-transform: scaleX(-1); - -ms-transform: scaleX(-1); - -o-transform: scaleX(-1); - transform: scaleX(-1); -} -.mirror.rotate-90 { - -webkit-transform: scaleX(-1) rotate(90deg); - -moz-transform: scaleX(-1) rotate(90deg); - -ms-transform: scaleX(-1) rotate(90deg); - -o-transform: scaleX(-1) rotate(90deg); - transform: scaleX(-1) rotate(90deg); -} -.mirror.rotate-180 { - -webkit-transform: scaleX(-1) rotate(180deg); - -moz-transform: scaleX(-1) rotate(180deg); - -ms-transform: scaleX(-1) rotate(180deg); - -o-transform: scaleX(-1) rotate(180deg); - transform: scaleX(-1) rotate(180deg); -} -.mirror.rotate-270 { - -webkit-transform: scaleX(-1) rotate(270deg); - -moz-transform: scaleX(-1) rotate(270deg); - -ms-transform: scaleX(-1) rotate(270deg); - -o-transform: scaleX(-1) rotate(270deg); - transform: scaleX(-1) rotate(270deg); -} - -@media only screen and (max-width: 480px) { - .wy-form button[type="submit"] { - margin: 0.7em 0 0; - } - .wy-form input[type="text"], .wy-form input[type="password"], .wy-form input[type="email"], .wy-form input[type="url"], .wy-form input[type="date"], .wy-form input[type="month"], .wy-form input[type="time"], .wy-form input[type="datetime"], .wy-form input[type="datetime-local"], .wy-form input[type="week"], .wy-form input[type="number"], .wy-form input[type="search"], .wy-form input[type="tel"], .wy-form input[type="color"] { - margin-bottom: 0.3em; - display: block; - } - .wy-form label { - margin-bottom: 0.3em; - display: block; - } - - .wy-form input[type="password"], .wy-form input[type="email"], .wy-form input[type="url"], .wy-form input[type="date"], .wy-form input[type="month"], .wy-form input[type="time"], .wy-form input[type="datetime"], .wy-form input[type="datetime-local"], .wy-form input[type="week"], .wy-form input[type="number"], .wy-form input[type="search"], .wy-form input[type="tel"], .wy-form input[type="color"] { - margin-bottom: 0; - } - - .wy-form-aligned .wy-control-group label { - margin-bottom: 0.3em; - text-align: left; - display: block; - width: 100%; - } - .wy-form-aligned .wy-control { - margin: 1.5em 0 0 0; - } - - .wy-form .wy-help-inline, .wy-form-message-inline, .wy-form-message { - display: block; - font-size: 80%; - padding: 6px 0; - } -} -@media screen and (max-width: 768px) { - .tablet-hide { - display: none; - } -} - -@media screen and (max-width: 480px) { - .mobile-hide { - display: none; - } -} - -.float-left { - float: left; -} - -.float-right { - float: right; -} - -.full-width { - width: 100%; -} - -.wy-table, .rst-content table.docutils, .rst-content table.field-list { - border-collapse: collapse; - border-spacing: 0; - empty-cells: show; - margin-bottom: 24px; -} -.wy-table caption, .rst-content table.docutils caption, .rst-content table.field-list caption { - color: #000; - font: italic 85%/1 arial, sans-serif; - padding: 1em 0; - text-align: center; -} -.wy-table td, .rst-content table.docutils td, .rst-content table.field-list td, .wy-table th, .rst-content table.docutils th, .rst-content table.field-list th { - font-size: 90%; - margin: 0; - overflow: visible; - padding: 4px; -} -.wy-table td:first-child, .rst-content table.docutils td:first-child, .rst-content table.field-list td:first-child, .wy-table th:first-child, .rst-content table.docutils th:first-child, .rst-content table.field-list th:first-child { - border-left-width: 0; -} -.wy-table thead, .rst-content table.docutils thead, .rst-content table.field-list thead { - color: #000; - text-align: left; - vertical-align: bottom; - white-space: nowrap; -} -.wy-table thead th, .rst-content table.docutils thead th, .rst-content table.field-list thead th { - font-weight: bold; - border-bottom: solid 2px #e1e4e5; -} -.wy-table td, .rst-content table.docutils td, .rst-content table.field-list td { - background-color: transparent; - vertical-align: middle; -} - -.wy-table td p, .rst-content table.docutils td p, .rst-content table.field-list td p { - line-height: 18px; -} -.wy-table td p:last-child, .rst-content table.docutils td p:last-child, .rst-content table.field-list td p:last-child { - margin-bottom: 0; -} - -.wy-table .wy-table-cell-min, .rst-content table.docutils .wy-table-cell-min, .rst-content table.field-list .wy-table-cell-min { - width: 1%; - padding-right: 0; -} -.wy-table .wy-table-cell-min input[type=checkbox], .rst-content table.docutils .wy-table-cell-min input[type=checkbox], .rst-content table.field-list .wy-table-cell-min input[type=checkbox], .wy-table .wy-table-cell-min input[type=checkbox], .rst-content table.docutils .wy-table-cell-min input[type=checkbox], .rst-content table.field-list .wy-table-cell-min input[type=checkbox] { - margin: 0; -} - -.wy-table-secondary { - color: gray; - font-size: 90%; -} - -.wy-table-tertiary { - color: gray; - font-size: 80%; -} - -.wy-table-odd td, .wy-table-striped tr:nth-child(2n-1) td, .rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td { - background-color: #f3f6f6; -} - -.wy-table-backed { - background-color: #f3f6f6; -} - -/* BORDERED TABLES */ -.wy-table-bordered-all, .rst-content table.docutils { - border: 1px solid #black; -} -.wy-table-bordered-all td, .rst-content table.docutils td { - border-bottom: 1px solid black; - border-left: 1px solid black; -} -.wy-table-bordered-all tbody > tr:last-child td, .rst-content table.docutils tbody > tr:last-child td { - border-bottom-width: 0; -} - -.wy-table-bordered { - border: 1px solid #e1e4e5; -} - -.wy-table-bordered-rows td { - border-bottom: 1px solid #e1e4e5; -} -.wy-table-bordered-rows tbody > tr:last-child td { - border-bottom-width: 0; -} - -.wy-table-horizontal tbody > tr:last-child td { - border-bottom-width: 0; -} -.wy-table-horizontal td, .wy-table-horizontal th { - border-width: 0 0 1px 0; - border-bottom: 1px solid #e1e4e5; -} -.wy-table-horizontal tbody > tr:last-child td { - border-bottom-width: 0; -} - -/* RESPONSIVE TABLES */ -.wy-table-responsive { - margin-bottom: 24px; - max-width: 100%; - overflow: auto; -} -.wy-table-responsive table { - margin-bottom: 0 !important; -} -.wy-table-responsive table td, .wy-table-responsive table th { - white-space: nowrap; -} - -a { - color: #2980B9; - text-decoration: none; - cursor: pointer; -} -a:hover { - color: #3091d1; -} -a:visited { - color: #9B59B6; -} - -html { - height: 100%; - overflow-x: hidden; -} - -body { - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - font-weight: normal; - color: #404040; - min-height: 100%; - overflow-x: hidden; - background: #edf0f2; -} - -.wy-text-left { - text-align: left; -} - -.wy-text-center { - text-align: center; -} - -.wy-text-right { - text-align: right; -} - -.wy-text-large { - font-size: 120%; -} - -.wy-text-normal { - font-size: 100%; -} - -.wy-text-small, small { - font-size: 80%; -} - -.wy-text-strike { - text-decoration: line-through; -} - -.wy-text-warning { - color: #E67E22 !important; -} - -a.wy-text-warning:hover { - color: #eb9950 !important; -} - -.wy-text-info { - color: #2980B9 !important; -} - -a.wy-text-info:hover { - color: #409ad5 !important; -} - -.wy-text-success { - color: #27AE60 !important; -} - -a.wy-text-success:hover { - color: #36d278 !important; -} - -.wy-text-danger { - color: #E74C3C !important; -} - -a.wy-text-danger:hover { - color: #ed7669 !important; -} - -.wy-text-neutral { - color: #404040 !important; -} - -a.wy-text-neutral:hover { - color: #595959 !important; -} - -h1, h2, .rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend { - margin-top: 0; - font-weight: 700; - font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif; -} - -p { - line-height: 24px; - margin: 0; - font-size: 16px; - margin-bottom: 24px; -} - -h1 { - font-size: 175%; -} - -h2, .rst-content .toctree-wrapper p.caption { - font-size: 150%; -} - -h3 { - font-size: 125%; -} - -h4 { - font-size: 115%; -} - -h5 { - font-size: 110%; -} - -h6 { - font-size: 100%; -} - -hr { - display: block; - border-top: 2px solid #8c8b8b; - border-bottom: 2px solid #fff; - margin: 24px 0; - padding: 0; -} - -code, .rst-content tt, .rst-content code { - white-space: nowrap; - max-width: 100%; - background: #fff; - border: solid 1px #e1e4e5; - font-size: 75%; - padding: 0 5px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - color: #E74C3C; - overflow-x: auto; -} -code.code-large, .rst-content tt.code-large { - font-size: 90%; -} - -.wy-plain-list-disc, .rst-content .section ul, .rst-content .toctree-wrapper ul, article ul { - list-style: disc; - line-height: 24px; - margin-bottom: 24px; -} -.wy-plain-list-disc li, .rst-content .section ul li, .rst-content .toctree-wrapper ul li, article ul li { - list-style: disc; - margin-left: 24px; -} -.wy-plain-list-disc li p:last-child, .rst-content .section ul li p:last-child, .rst-content .toctree-wrapper ul li p:last-child, article ul li p:last-child { - margin-bottom: 0; -} -.wy-plain-list-disc li ul, .rst-content .section ul li ul, .rst-content .toctree-wrapper ul li ul, article ul li ul { - margin-bottom: 0; -} -.wy-plain-list-disc li li, .rst-content .section ul li li, .rst-content .toctree-wrapper ul li li, article ul li li { - list-style: circle; -} -.wy-plain-list-disc li li li, .rst-content .section ul li li li, .rst-content .toctree-wrapper ul li li li, article ul li li li { - list-style: square; -} -.wy-plain-list-disc li ol li, .rst-content .section ul li ol li, .rst-content .toctree-wrapper ul li ol li, article ul li ol li { - list-style: decimal; -} - -.wy-plain-list-decimal, .rst-content .section ol, .rst-content ol.arabic, article ol { - list-style: decimal; - line-height: 24px; - margin-bottom: 24px; -} -.wy-plain-list-decimal li, .rst-content .section ol li, .rst-content ol.arabic li, article ol li { - list-style: decimal; - margin-left: 24px; -} -.wy-plain-list-decimal li p:last-child, .rst-content .section ol li p:last-child, .rst-content ol.arabic li p:last-child, article ol li p:last-child { - margin-bottom: 0; -} -.wy-plain-list-decimal li ul, .rst-content .section ol li ul, .rst-content ol.arabic li ul, article ol li ul { - margin-bottom: 0; -} -.wy-plain-list-decimal li ul li, .rst-content .section ol li ul li, .rst-content ol.arabic li ul li, article ol li ul li { - list-style: disc; -} - -.codeblock-example { - border: 1px solid #e1e4e5; - border-bottom: none; - padding: 24px; - padding-top: 48px; - font-weight: 500; - background: #fff; - position: relative; -} -.codeblock-example:after { - content: "Example"; - position: absolute; - top: 0px; - left: 0px; - background: #9B59B6; - color: white; - padding: 6px 12px; -} -.codeblock-example.prettyprint-example-only { - border: 1px solid #e1e4e5; - margin-bottom: 24px; -} - -.codeblock, pre.literal-block, .rst-content .literal-block, .rst-content pre.literal-block, div[class^='highlight'] { - border: 1px solid #e1e4e5; - padding: 0px; - overflow-x: auto; - background: #fff; - margin: 1px 0 24px 0; -} -.codeblock div[class^='highlight'], pre.literal-block div[class^='highlight'], .rst-content .literal-block div[class^='highlight'], div[class^='highlight'] div[class^='highlight'] { - border: none; - background: none; - margin: 0; -} - -div[class^='highlight'] td.code { - width: 100%; -} - -.linenodiv pre { - border-right: solid 1px #e6e9ea; - margin: 0; - padding: 12px 12px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - font-size: 12px; - line-height: 1.5; - color: #d9d9d9; -} - -div[class^='highlight'] pre { - white-space: pre; - margin: 0; - padding: 12px 12px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - font-size: 12px; - line-height: 1.5; - display: block; - overflow: auto; - color: #404040; -} - -@media print { - .codeblock, pre.literal-block, .rst-content .literal-block, .rst-content pre.literal-block, div[class^='highlight'], div[class^='highlight'] pre { - white-space: pre-wrap; - } -} -.hll { - background-color: #ffffcc; - margin: 0 -12px; - padding: 0 12px; - display: block; -} - -.c { - color: #999988; - font-style: italic; -} - -.err { - color: #a61717; - background-color: #e3d2d2; -} - -.k { - font-weight: bold; -} - -.o { - font-weight: bold; -} - -.cm { - color: #999988; - font-style: italic; -} - -.cp { - color: #999999; - font-weight: bold; -} - -.c1 { - color: #999988; - font-style: italic; -} - -.cs { - color: #999999; - font-weight: bold; - font-style: italic; -} - -.gd { - color: #000000; - background-color: #ffdddd; -} - -.gd .x { - color: #000000; - background-color: #ffaaaa; -} - -.ge { - font-style: italic; -} - -.gr { - color: #aa0000; -} - -.gh { - color: #999999; -} - -.gi { - color: #000000; - background-color: #ddffdd; -} - -.gi .x { - color: #000000; - background-color: #aaffaa; -} - -.go { - color: #888888; -} - -.gp { - color: #555555; -} - -.gs { - font-weight: bold; -} - -.gu { - color: #800080; - font-weight: bold; -} - -.gt { - color: #aa0000; -} - -.kc { - font-weight: bold; -} - -.kd { - font-weight: bold; -} - -.kn { - font-weight: bold; -} - -.kp { - font-weight: bold; -} - -.kr { - font-weight: bold; -} - -.kt { - color: #445588; - font-weight: bold; -} - -.m { - color: #009999; -} - -.s { - color: #dd1144; -} - -.n { - color: #333333; -} - -.na { - color: teal; -} - -.nb { - color: #0086b3; -} - -.nc { - color: #445588; - font-weight: bold; -} - -.no { - color: teal; -} - -.ni { - color: purple; -} - -.ne { - color: #990000; - font-weight: bold; -} - -.nf { - color: #990000; - font-weight: bold; -} - -.nn { - color: #555555; -} - -.nt { - color: navy; -} - -.nv { - color: teal; -} - -.ow { - font-weight: bold; -} - -.w { - color: #bbbbbb; -} - -.mf { - color: #009999; -} - -.mh { - color: #009999; -} - -.mi { - color: #009999; -} - -.mo { - color: #009999; -} - -.sb { - color: #dd1144; -} - -.sc { - color: #dd1144; -} - -.sd { - color: #dd1144; -} - -.s2 { - color: #dd1144; -} - -.se { - color: #dd1144; -} - -.sh { - color: #dd1144; -} - -.si { - color: #dd1144; -} - -.sx { - color: #dd1144; -} - -.sr { - color: #009926; -} - -.s1 { - color: #dd1144; -} - -.ss { - color: #990073; -} - -.bp { - color: #999999; -} - -.vc { - color: teal; -} - -.vg { - color: teal; -} - -.vi { - color: teal; -} - -.il { - color: #009999; -} - -.gc { - color: #999; - background-color: #EAF2F5; -} - -.wy-breadcrumbs li { - display: inline-block; -} -.wy-breadcrumbs li.wy-breadcrumbs-aside { - float: right; -} -.wy-breadcrumbs li a { - display: inline-block; - padding: 5px; -} -.wy-breadcrumbs li a:first-child { - padding-left: 0; -} -.wy-breadcrumbs li code, .wy-breadcrumbs li .rst-content tt, .rst-content .wy-breadcrumbs li tt { - padding: 5px; - border: none; - background: none; -} -.wy-breadcrumbs li code.literal, .wy-breadcrumbs li .rst-content tt.literal, .rst-content .wy-breadcrumbs li tt.literal { - color: #404040; -} - -.wy-breadcrumbs-extra { - margin-bottom: 0; - color: #b3b3b3; - font-size: 80%; - display: inline-block; -} - -@media screen and (max-width: 480px) { - .wy-breadcrumbs-extra { - display: none; - } - - .wy-breadcrumbs li.wy-breadcrumbs-aside { - display: none; - } -} -@media print { - .wy-breadcrumbs li.wy-breadcrumbs-aside { - display: none; - } -} -.wy-affix { - position: fixed; - top: 1.618em; -} - -.wy-menu a:hover { - text-decoration: none; -} - -.wy-menu-horiz { - *zoom: 1; -} -.wy-menu-horiz:before, .wy-menu-horiz:after { - display: table; - content: ""; -} -.wy-menu-horiz:after { - clear: both; -} -.wy-menu-horiz ul, .wy-menu-horiz li { - display: inline-block; -} -.wy-menu-horiz li:hover { - background: rgba(255, 255, 255, 0.1); -} -.wy-menu-horiz li.divide-left { - border-left: solid 1px #404040; -} -.wy-menu-horiz li.divide-right { - border-right: solid 1px #404040; -} -.wy-menu-horiz a { - height: 32px; - display: inline-block; - line-height: 32px; - padding: 0 16px; -} - -.wy-menu-vertical header, .wy-menu-vertical p.caption { - height: 32px; - display: inline-block; - line-height: 32px; - padding: 0 1.618em; - margin-bottom: 0; - display: block; - font-weight: bold; - text-transform: uppercase; - font-size: 80%; - color: #555; - white-space: nowrap; -} -.wy-menu-vertical ul { - margin-bottom: 0; -} -.wy-menu-vertical li.divide-top { - border-top: solid 1px #404040; -} -.wy-menu-vertical li.divide-bottom { - border-bottom: solid 1px #404040; -} -.wy-menu-vertical li.current { - background: #e3e3e3; -} -.wy-menu-vertical li.current a { - color: gray; - border-right: solid 1px #c9c9c9; - padding: 0.4045em 2.427em; -} -.wy-menu-vertical li.current a:hover { - background: #d6d6d6; -} -.wy-menu-vertical li code, .wy-menu-vertical li .rst-content tt, .rst-content .wy-menu-vertical li tt { - border: none; - background: inherit; - color: inherit; - padding-left: 0; - padding-right: 0; -} -.wy-menu-vertical li span.toctree-expand { - display: block; - float: left; - margin-left: -1.2em; - font-size: 0.8em; - line-height: 1.6em; - color: #4d4d4d; -} -.wy-menu-vertical li.on a, .wy-menu-vertical li.current > a { - color: #404040; - padding: 0.4045em 1.618em; - font-weight: bold; - position: relative; - background: #fcfcfc; - border: none; - border-bottom: solid 1px #c9c9c9; - border-top: solid 1px #c9c9c9; - padding-left: 1.618em -4px; -} -.wy-menu-vertical li.on a:hover, .wy-menu-vertical li.current > a:hover { - background: #fcfcfc; -} -.wy-menu-vertical li.on a:hover span.toctree-expand, .wy-menu-vertical li.current > a:hover span.toctree-expand { - color: gray; -} -.wy-menu-vertical li.on a span.toctree-expand, .wy-menu-vertical li.current > a span.toctree-expand { - display: block; - font-size: 0.8em; - line-height: 1.6em; - color: #333333; -} -.wy-menu-vertical li.toctree-l1.current li.toctree-l2 > ul, .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > ul { - display: none; -} -.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current > ul, .wy-menu-vertical li.toctree-l2.current li.toctree-l3.current > ul { - display: block; -} -.wy-menu-vertical li.toctree-l2.current > a { - background: #c9c9c9; - padding: 0.4045em 2.427em; -} -.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { - display: block; - background: #c9c9c9; - padding: 0.4045em 4.045em; -} -.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand { - color: gray; -} -.wy-menu-vertical li.toctree-l2 span.toctree-expand { - color: #a3a3a3; -} -.wy-menu-vertical li.toctree-l3 { - font-size: 0.9em; -} -.wy-menu-vertical li.toctree-l3.current > a { - background: #bdbdbd; - padding: 0.4045em 4.045em; -} -.wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a { - display: block; - background: #bdbdbd; - padding: 0.4045em 5.663em; - border-top: none; - border-bottom: none; -} -.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand { - color: gray; -} -.wy-menu-vertical li.toctree-l3 span.toctree-expand { - color: #969696; -} -.wy-menu-vertical li.toctree-l4 { - font-size: 0.9em; -} -.wy-menu-vertical li.current ul { - display: block; -} -.wy-menu-vertical li ul { - margin-bottom: 0; - display: none; -} -.wy-menu-vertical .local-toc li ul { - display: block; -} -.wy-menu-vertical li ul li a { - margin-bottom: 0; - color: #b3b3b3; - font-weight: normal; -} -.wy-menu-vertical a { - display: inline-block; - line-height: 18px; - padding: 0.4045em 1.618em; - display: block; - position: relative; - font-size: 90%; - color: #b3b3b3; -} -.wy-menu-vertical a:hover { - background-color: #4e4a4a; - cursor: pointer; -} -.wy-menu-vertical a:hover span.toctree-expand { - color: #b3b3b3; -} -.wy-menu-vertical a:active { - background-color: #2980B9; - cursor: pointer; - color: #fff; -} -.wy-menu-vertical a:active span.toctree-expand { - color: #fff; -} - -.wy-side-nav-search { - z-index: 200; - background-color: #2980B9; - text-align: center; - padding: 0.809em; - display: block; - color: #fcfcfc; - margin-bottom: 0.809em; -} -.wy-side-nav-search input[type=text] { - width: 100%; - border-radius: 50px; - padding: 6px 12px; - border-color: #2472a4; -} -.wy-side-nav-search img { - display: block; - margin: auto auto 0.809em auto; - height: 45px; - width: 45px; - background-color: #2980B9; - padding: 5px; - border-radius: 100%; -} -.wy-side-nav-search > a, .wy-side-nav-search .wy-dropdown > a { - color: #fcfcfc; - font-size: 100%; - font-weight: bold; - display: inline-block; - padding: 4px 6px; - margin-bottom: 0.809em; -} -.wy-side-nav-search > a:hover, .wy-side-nav-search .wy-dropdown > a:hover { - background: rgba(255, 255, 255, 0.1); -} -.wy-side-nav-search > a img.logo, .wy-side-nav-search .wy-dropdown > a img.logo { - display: block; - margin: 0 auto; - height: auto; - width: auto; - border-radius: 0; - max-width: 100%; - background: transparent; -} -.wy-side-nav-search > a.icon img.logo, .wy-side-nav-search .wy-dropdown > a.icon img.logo { - margin-top: 0.85em; -} -.wy-side-nav-search > div.version { - margin-top: -0.4045em; - margin-bottom: 0.809em; - font-weight: normal; - color: rgba(255, 255, 255, 0.3); -} - -.wy-nav .wy-menu-vertical header { - color: #2980B9; -} -.wy-nav .wy-menu-vertical a { - color: #b3b3b3; -} -.wy-nav .wy-menu-vertical a:hover { - background-color: #2980B9; - color: #fff; -} - -[data-menu-wrap] { - -webkit-transition: all 0.2s ease-in; - -moz-transition: all 0.2s ease-in; - transition: all 0.2s ease-in; - position: absolute; - opacity: 1; - width: 100%; - opacity: 0; -} -[data-menu-wrap].move-center { - left: 0; - right: auto; - opacity: 1; -} -[data-menu-wrap].move-left { - right: auto; - left: -100%; - opacity: 0; -} -[data-menu-wrap].move-right { - right: -100%; - left: auto; - opacity: 0; -} - -.wy-body-for-nav { - background: left repeat-y #fcfcfc; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC); - background-size: 300px 1px; -} - -.wy-grid-for-nav { - position: absolute; - width: 100%; - height: 100%; -} - -.wy-nav-side { - position: fixed; - top: 0; - bottom: 0; - left: 0; - padding-bottom: 2em; - width: 300px; - overflow-x: hidden; - overflow-y: scroll; - min-height: 100%; - background: #343131; - z-index: 200; -} - -.wy-nav-top { - display: none; - background: #2980B9; - color: #fff; - padding: 0.4045em 0.809em; - position: relative; - line-height: 50px; - text-align: center; - font-size: 100%; - *zoom: 1; -} -.wy-nav-top:before, .wy-nav-top:after { - display: table; - content: ""; -} -.wy-nav-top:after { - clear: both; -} -.wy-nav-top a { - color: #fff; - font-weight: bold; -} -.wy-nav-top img { - margin-right: 12px; - height: 45px; - width: 45px; - background-color: #2980B9; - padding: 5px; - border-radius: 100%; -} -.wy-nav-top i { - font-size: 30px; - float: left; - cursor: pointer; -} - -.wy-nav-content-wrap { - margin-left: 300px; - background: #fcfcfc; - min-height: 100%; -} - -.wy-nav-content { - padding: 1.618em 3.236em; - height: 100%; - margin: auto; -} - -.wy-body-mask { - position: fixed; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.2); - display: none; - z-index: 499; -} -.wy-body-mask.on { - display: block; -} - -footer { - color: #999; -} -footer p { - margin-bottom: 12px; -} -footer span.commit code, footer span.commit .rst-content tt, .rst-content footer span.commit tt { - padding: 0px; - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; - font-size: 1em; - background: none; - border: none; - color: #999; -} - -.rst-footer-buttons { - *zoom: 1; -} -.rst-footer-buttons:before, .rst-footer-buttons:after { - display: table; - content: ""; -} -.rst-footer-buttons:after { - clear: both; -} - -#search-results .search li { - margin-bottom: 24px; - border-bottom: solid 1px #e1e4e5; - padding-bottom: 24px; -} -#search-results .search li:first-child { - border-top: solid 1px #e1e4e5; - padding-top: 24px; -} -#search-results .search li a { - font-size: 120%; - margin-bottom: 12px; - display: inline-block; -} -#search-results .context { - color: gray; - font-size: 90%; -} - -@media screen and (max-width: 768px) { - .wy-body-for-nav { - background: #fcfcfc; - } - - .wy-nav-top { - display: block; - } - - .wy-nav-side { - left: -300px; - } - .wy-nav-side.shift { - width: 85%; - left: 0; - } - - .wy-nav-content-wrap { - margin-left: 0; - } - .wy-nav-content-wrap .wy-nav-content { - padding: 1.618em; - } - .wy-nav-content-wrap.shift { - position: fixed; - min-width: 100%; - left: 85%; - top: 0; - height: 100%; - overflow: hidden; - } -} -@media screen and (min-width: 1400px) { - .wy-nav-content-wrap { - background: rgba(0, 0, 0, 0.05); - } - - .wy-nav-content { - margin: 0; - background: #fcfcfc; - } -} -@media print { - .rst-versions, footer, .wy-nav-side { - display: none; - } - - .wy-nav-content-wrap { - margin-left: 0; - } -} -.rst-versions { - position: fixed; - bottom: 0; - left: 0; - width: 300px; - color: #fcfcfc; - background: #1f1d1d; - border-top: solid 10px #343131; - font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; - z-index: 400; -} -.rst-versions a { - color: #2980B9; - text-decoration: none; -} -.rst-versions .rst-badge-small { - display: none; -} -.rst-versions .rst-current-version { - padding: 12px; - background-color: #272525; - display: block; - text-align: right; - font-size: 90%; - cursor: pointer; - color: #27AE60; - *zoom: 1; -} -.rst-versions .rst-current-version:before, .rst-versions .rst-current-version:after { - display: table; - content: ""; -} -.rst-versions .rst-current-version:after { - clear: both; -} -.rst-versions .rst-current-version .fa, .rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand, .wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand, .rst-versions .rst-current-version .rst-content .admonition-title, .rst-content .rst-versions .rst-current-version .admonition-title, .rst-versions .rst-current-version .rst-content h1 .headerlink, .rst-content h1 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h2 .headerlink, .rst-content h2 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h3 .headerlink, .rst-content h3 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h4 .headerlink, .rst-content h4 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h5 .headerlink, .rst-content h5 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h6 .headerlink, .rst-content h6 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content dl dt .headerlink, .rst-content dl dt .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content p.caption .headerlink, .rst-content p.caption .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content tt.download span:first-child, .rst-content tt.download .rst-versions .rst-current-version span:first-child, .rst-versions .rst-current-version .rst-content code.download span:first-child, .rst-content code.download .rst-versions .rst-current-version span:first-child, .rst-versions .rst-current-version .icon { - color: #fcfcfc; -} -.rst-versions .rst-current-version .fa-book, .rst-versions .rst-current-version .icon-book { - float: left; -} -.rst-versions .rst-current-version .icon-book { - float: left; -} -.rst-versions .rst-current-version.rst-out-of-date { - background-color: #E74C3C; - color: #fff; -} -.rst-versions .rst-current-version.rst-active-old-version { - background-color: #F1C40F; - color: #000; -} -.rst-versions.shift-up .rst-other-versions { - display: block; -} -.rst-versions .rst-other-versions { - font-size: 90%; - padding: 12px; - color: gray; - display: none; -} -.rst-versions .rst-other-versions hr { - display: block; - height: 1px; - border: 0; - margin: 20px 0; - padding: 0; - border-top: solid 1px #413d3d; -} -.rst-versions .rst-other-versions dd { - display: inline-block; - margin: 0; -} -.rst-versions .rst-other-versions dd a { - display: inline-block; - padding: 6px; - color: #fcfcfc; -} -.rst-versions.rst-badge { - width: auto; - bottom: 20px; - right: 20px; - left: auto; - border: none; - max-width: 300px; -} -.rst-versions.rst-badge .icon-book { - float: none; -} -.rst-versions.rst-badge .fa-book, .rst-versions.rst-badge .icon-book { - float: none; -} -.rst-versions.rst-badge.shift-up .rst-current-version { - text-align: right; -} -.rst-versions.rst-badge.shift-up .rst-current-version .fa-book, .rst-versions.rst-badge.shift-up .rst-current-version .icon-book { - float: left; -} -.rst-versions.rst-badge.shift-up .rst-current-version .icon-book { - float: left; -} -.rst-versions.rst-badge .rst-current-version { - width: auto; - height: 30px; - line-height: 30px; - padding: 0 6px; - display: block; - text-align: center; -} - -@media screen and (max-width: 768px) { - .rst-versions { - width: 85%; - display: none; - } - .rst-versions.shift { - display: block; - } - - img { - width: 100%; - height: auto; - } -} -.rst-content img { - max-width: 100%; - height: auto !important; -} -.rst-content div.figure { - margin-bottom: 24px; -} -.rst-content div.figure p.caption { - font-style: italic; -} -.rst-content div.figure.align-center { - text-align: center; -} -.rst-content .section > img, .rst-content .section > a > img { - margin-bottom: 24px; -} -.rst-content blockquote { - margin-left: 24px; - line-height: 24px; - margin-bottom: 24px; -} -.rst-content .note .last, .rst-content .attention .last, .rst-content .caution .last, .rst-content .danger .last, .rst-content .error .last, .rst-content .hint .last, .rst-content .important .last, .rst-content .tip .last, .rst-content .warning .last, .rst-content .seealso .last, .rst-content .admonition-todo .last { - margin-bottom: 0; -} -.rst-content .admonition-title:before { - margin-right: 4px; -} -.rst-content .admonition table { - border-color: rgba(0, 0, 0, 0.1); -} -.rst-content .admonition table td, .rst-content .admonition table th { - background: transparent !important; - border-color: rgba(0, 0, 0, 0.1) !important; -} -.rst-content .section ol.loweralpha, .rst-content .section ol.loweralpha li { - list-style: lower-alpha; -} -.rst-content .section ol.upperalpha, .rst-content .section ol.upperalpha li { - list-style: upper-alpha; -} -.rst-content .section ol p, .rst-content .section ul p { - margin-bottom: 12px; -} -.rst-content .line-block { - margin-left: 24px; -} -.rst-content .topic-title { - font-weight: bold; - margin-bottom: 12px; -} -.rst-content .toc-backref { - color: #404040; -} -.rst-content .align-right { - float: right; - margin: 0px 0px 24px 24px; -} -.rst-content .align-left { - float: left; - margin: 0px 24px 24px 0px; -} -.rst-content .align-center { - margin: auto; - display: block; -} -.rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content .toctree-wrapper p.caption .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .rst-content p.caption .headerlink { - display: none; - visibility: hidden; - font-size: 14px; -} -.rst-content h1 .headerlink:after, .rst-content h2 .headerlink:after, .rst-content .toctree-wrapper p.caption .headerlink:after, .rst-content h3 .headerlink:after, .rst-content h4 .headerlink:after, .rst-content h5 .headerlink:after, .rst-content h6 .headerlink:after, .rst-content dl dt .headerlink:after, .rst-content p.caption .headerlink:after { - visibility: visible; - content: ""; - font-family: FontAwesome; - display: inline-block; -} -.rst-content h1:hover .headerlink, .rst-content h2:hover .headerlink, .rst-content .toctree-wrapper p.caption:hover .headerlink, .rst-content h3:hover .headerlink, .rst-content h4:hover .headerlink, .rst-content h5:hover .headerlink, .rst-content h6:hover .headerlink, .rst-content dl dt:hover .headerlink, .rst-content p.caption:hover .headerlink { - display: inline-block; -} -.rst-content .sidebar { - float: right; - width: 40%; - display: block; - margin: 0 0 24px 24px; - padding: 24px; - background: #f3f6f6; - border: solid 1px #e1e4e5; -} -.rst-content .sidebar p, .rst-content .sidebar ul, .rst-content .sidebar dl { - font-size: 90%; -} -.rst-content .sidebar .last { - margin-bottom: 0; -} -.rst-content .sidebar .sidebar-title { - display: block; - font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif; - font-weight: bold; - background: #e1e4e5; - padding: 6px 12px; - margin: -24px; - margin-bottom: 24px; - font-size: 100%; -} -.rst-content .highlighted { - background: #F1C40F; - display: inline-block; - font-weight: bold; - padding: 0 6px; -} -.rst-content .footnote-reference, .rst-content .citation-reference { - vertical-align: super; - font-size: 90%; -} -.rst-content table.docutils.citation, .rst-content table.docutils.footnote { - background: none; - border: none; - color: #999; -} -.rst-content table.docutils.citation td, .rst-content table.docutils.citation tr, .rst-content table.docutils.footnote td, .rst-content table.docutils.footnote tr { - border: none; - background-color: transparent !important; - white-space: normal; -} -.rst-content table.docutils.citation td.label, .rst-content table.docutils.footnote td.label { - padding-left: 0; - padding-right: 0; - vertical-align: top; -} -.rst-content table.docutils.citation tt, .rst-content table.docutils.citation code, .rst-content table.docutils.footnote tt, .rst-content table.docutils.footnote code { - color: #555; -} -.rst-content table.field-list { - border: none; -} -.rst-content table.field-list td { - border: none; - padding-top: 5px; -} -.rst-content table.field-list td > strong { - display: inline-block; - margin-top: 3px; -} -.rst-content table.field-list .field-name { - padding-right: 10px; - text-align: left; - white-space: nowrap; -} -.rst-content table.field-list .field-body { - text-align: left; - padding-left: 0; -} -.rst-content tt, .rst-content tt, .rst-content code { - color: #000; -} -.rst-content tt big, .rst-content tt em, .rst-content tt big, .rst-content code big, .rst-content tt em, .rst-content code em { - font-size: 100% !important; - line-height: normal; -} -.rst-content tt.literal, .rst-content tt.literal, .rst-content code.literal { - color: #E74C3C; -} -.rst-content tt.xref, a .rst-content tt, .rst-content tt.xref, .rst-content code.xref, a .rst-content tt, a .rst-content code { - font-weight: bold; - color: #404040; -} -.rst-content a tt, .rst-content a tt, .rst-content a code { - color: #2980B9; -} -.rst-content dl { - margin-bottom: 24px; -} -.rst-content dl dt { - font-weight: bold; -} -.rst-content dl p, .rst-content dl table, .rst-content dl ul, .rst-content dl ol { - margin-bottom: 12px !important; -} -.rst-content dl dd { - margin: 0 0 12px 24px; -} -.rst-content dl:not(.docutils) { - margin-bottom: 24px; -} -.rst-content dl:not(.docutils) dt { - display: inline-block; - margin: 6px 0; - font-size: 90%; - line-height: normal; - background: #e7f2fa; - color: #2980B9; - border-top: solid 3px #6ab0de; - padding: 6px; - position: relative; -} -.rst-content dl:not(.docutils) dt:before { - color: #6ab0de; -} -.rst-content dl:not(.docutils) dt .headerlink { - color: #404040; - font-size: 100% !important; -} -.rst-content dl:not(.docutils) dl dt { - margin-bottom: 6px; - border: none; - border-left: solid 3px #cccccc; - background: #f0f0f0; - color: gray; -} -.rst-content dl:not(.docutils) dl dt .headerlink { - color: #404040; - font-size: 100% !important; -} -.rst-content dl:not(.docutils) dt:first-child { - margin-top: 0; -} -.rst-content dl:not(.docutils) tt, .rst-content dl:not(.docutils) tt, .rst-content dl:not(.docutils) code { - font-weight: bold; -} -.rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) tt.descclassname, .rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) code.descname, .rst-content dl:not(.docutils) tt.descclassname, .rst-content dl:not(.docutils) code.descclassname { - background-color: transparent; - border: none; - padding: 0; - font-size: 100% !important; -} -.rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) code.descname { - font-weight: bold; -} -.rst-content dl:not(.docutils) .optional { - display: inline-block; - padding: 0 4px; - color: #000; - font-weight: bold; -} -.rst-content dl:not(.docutils) .property { - display: inline-block; - padding-right: 8px; -} -.rst-content .viewcode-link, .rst-content .viewcode-back { - display: inline-block; - color: #27AE60; - font-size: 80%; - padding-left: 24px; -} -.rst-content .viewcode-back { - display: block; - float: right; -} -.rst-content p.rubric { - margin-bottom: 12px; - font-weight: bold; -} -.rst-content tt.download, .rst-content code.download { - background: inherit; - padding: inherit; - font-family: inherit; - font-size: inherit; - color: inherit; - border: inherit; - white-space: inherit; -} -.rst-content tt.download span:first-child:before, .rst-content code.download span:first-child:before { - margin-right: 4px; -} - -@media screen and (max-width: 480px) { - .rst-content .sidebar { - width: 100%; - } -} -span[id*='MathJax-Span'] { - color: #404040; -} - -.math { - text-align: center; -} - -@font-face { - font-family: "Inconsolata"; - font-style: normal; - font-weight: 400; - src: local("Inconsolata"), url(../fonts/Inconsolata.ttf) format("truetype"); -} -@font-face { - font-family: "Inconsolata"; - font-style: normal; - font-weight: 700; - src: local("Inconsolata Bold"), local("Inconsolata-Bold"), url(../fonts/Inconsolata-Bold.ttf) format("truetype"); -} -@font-face { - font-family: "Lato"; - font-style: normal; - font-weight: 400; - src: local("Lato Regular"), local("Lato-Regular"), url(../fonts/Lato-Regular.ttf) format("truetype"); -} -@font-face { - font-family: "Lato"; - font-style: normal; - font-weight: 700; - src: local("Lato Bold"), local("Lato-Bold"), url(../fonts/Lato-Bold.ttf) format("truetype"); -} -@font-face { - font-family: "Roboto Slab"; - font-style: normal; - font-weight: 400; - src: local("Roboto Slab Regular"), local("RobotoSlab-Regular"), url(../fonts/RobotoSlab-Regular.ttf) format("truetype"); -} -@font-face { - font-family: "Roboto Slab"; - font-style: normal; - font-weight: 700; - src: local("Roboto Slab Bold"), local("RobotoSlab-Bold"), url(../fonts/RobotoSlab-Bold.ttf) format("truetype"); -} - -/*# sourceMappingURL=theme.css.map */ diff --git a/doc/html/_static/css/theme.css.map b/doc/html/_static/css/theme.css.map deleted file mode 100644 index 7e94d0244254f669c88095f138d492a44b9398e8..0000000000000000000000000000000000000000 --- a/doc/html/_static/css/theme.css.map +++ /dev/null @@ -1,7 +0,0 @@ -{ -"version": 3, -"mappings": ";AACE,CAAE;ECQI,kBAAoB,EDPJ,UAAU;ECY1B,eAAiB,EDZD,UAAU;EC2B1B,UAAY,ED3BI,UAAU;;;AEFlC,iFAAiF;EAC/E,OAAO,EAAE,KAAK;;;AAEhB,oBAAoB;EAClB,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAE,MAAM;EAChB,KAAK,EAAE,CAAC;;;AAEV,qBAAqB;EACnB,OAAO,EAAE,IAAI;;;AAEf,QAAQ;EACN,OAAO,EAAE,IAAI;;;AAEf,CAAC;EDLO,kBAAoB,ECMd,UAAU;EDDhB,eAAiB,ECCX,UAAU;EDchB,UAAY,ECdN,UAAU;;;AAExB,IAAI;EACF,SAAS,EAAE,IAAI;EACf,wBAAwB,EAAE,IAAI;EAC9B,oBAAoB,EAAE,IAAI;;;AAE5B,IAAI;EACF,MAAM,EAAE,CAAC;;;AAEX,iBAAiB;EACf,OAAO,EAAE,CAAC;;;AAEZ,WAAW;EACT,aAAa,EAAE,UAAU;;;AAE3B,SAAS;EACP,WAAW,EAAE,IAAI;;;AAEnB,UAAU;EACR,MAAM,EAAE,CAAC;;;AAEX,GAAG;EACD,UAAU,EAAE,MAAM;;;AAGpB,GAAG;EACD,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;EACX,eAAe,EAAE,IAAI;;;AAEvB,IAAI;EACF,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,IAAI;;;AAEnB,wDAAoB;EAClB,WAAW,EAAE,gBAAS;EACtB,YAAY,EAAE,wBAAa;EAC3B,SAAS,EAAE,GAAG;;;AAEhB,GAAG;EACD,WAAW,EAAE,GAAG;;;AAElB,CAAC;EACC,MAAM,EAAE,IAAI;;;AAEd,iBAAiB;EACf,OAAO,EAAE,EAAE;EACX,OAAO,EAAE,IAAI;;;AAEf,KAAK;EACH,SAAS,EAAE,GAAG;;;AAEhB,QAAQ;EACN,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,CAAC;EACd,QAAQ,EAAE,QAAQ;EAClB,cAAc,EAAE,QAAQ;;;AAE1B,GAAG;EACD,GAAG,EAAE,MAAM;;;AAEb,GAAG;EACD,MAAM,EAAE,OAAO;;;AAEjB,UAAU;EACR,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,IAAI;EAChB,gBAAgB,EAAE,IAAI;;;AAExB,EAAE;EACA,UAAU,EAAE,IAAI;;;AAElB,EAAE;EACA,MAAM,EAAE,CAAC;;;AAEX,GAAG;EACD,MAAM,EAAE,CAAC;EACT,sBAAsB,EAAE,OAAO;EAC/B,cAAc,EAAE,MAAM;EACtB,SAAS,EAAE,IAAI;;;AAEjB,cAAc;EACZ,QAAQ,EAAE,MAAM;;;AAElB,MAAM;EACJ,MAAM,EAAE,CAAC;;;AAEX,IAAI;EACF,MAAM,EAAE,CAAC;;;AAEX,QAAQ;EACN,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;;AAEZ,KAAK;EACH,MAAM,EAAE,OAAO;;;AAEjB,MAAM;EACJ,MAAM,EAAE,CAAC;EACT,YAAY,EAAE,IAAI;EAClB,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,MAAM;;;AAErB,+BAA+B;EAC7B,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,CAAC;EACT,cAAc,EAAE,QAAQ;EACxB,eAAe,EAAE,MAAM;;;AAEzB,aAAa;EACX,WAAW,EAAE,MAAM;;;AAErB,uEAAuE;EACrE,MAAM,EAAE,OAAO;EACf,kBAAkB,EAAE,MAAM;EAC1B,SAAS,EAAE,OAAO;;;AAEpB,iCAAiC;EAC/B,MAAM,EAAE,OAAO;;;AAEjB,2CAA2C;EACzC,UAAU,EAAE,UAAU;EACtB,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,IAAI;;;AAEf,oBAAoB;EAClB,kBAAkB,EAAE,SAAS;EAC7B,eAAe,EAAE,WAAW;EAC5B,kBAAkB,EAAE,WAAW;EAC/B,UAAU,EAAE,WAAW;;;AAEzB,mGAAmG;EACjG,kBAAkB,EAAE,IAAI;;;AAE1B,iDAAiD;EAC/C,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;;AAEZ,QAAQ;EACN,QAAQ,EAAE,IAAI;EACd,cAAc,EAAE,GAAG;EACnB,MAAM,EAAE,QAAQ;;;AAElB,KAAK;EACH,eAAe,EAAE,QAAQ;EACzB,cAAc,EAAE,CAAC;;;AAEnB,EAAE;EACA,cAAc,EAAE,GAAG;;;AAErB,YAAY;EACV,MAAM,EAAE,OAAO;EACf,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,KAAK;EACZ,OAAO,EAAE,OAAO;;;AAElB,GAAG;EACD,OAAO,EAAE,KAAK;EACd,MAAM,EAAE,CAAC;EACT,WAAW,EAAE,MAAM;EACnB,QAAQ,EAAE,MAAM;EAChB,gBAAgB,EAAE,WAAW;EAC7B,iBAAiB,EAAE,SAAS;EAC5B,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,GAAG;EACd,YAAY,EAAE,CAAC;;;AAEjB,MAAM;EACJ,OAAO,EAAE,IAAI;;;AAEf,OAAO;EACL,OAAO,EAAE,eAAe;EACxB,UAAU,EAAE,MAAM;;;AAEpB,eAAe;EACb,MAAM,EAAE,CAAC;EACT,IAAI,EAAE,aAAa;EACnB,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,CAAC;EACV,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,GAAG;;;AAEZ,iEAAiE;EAC/D,IAAI,EAAE,IAAI;EACV,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,CAAC;EACT,QAAQ,EAAE,OAAO;EACjB,QAAQ,EAAE,MAAM;EAChB,KAAK,EAAE,IAAI;;;AAEb,UAAU;EACR,UAAU,EAAE,MAAM;;;AAEpB,SAAS;EACP,QAAQ,EAAE,QAAQ;;;AAEpB,UAAU;EACR,SAAS,EAAE,IAAI;;;AAEjB,YAAY;EACV,mBAAmB;IACjB,UAAU,EAAE,eAAe;;;EAC7B,CAAC;IACC,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,eAAe;IAC5B,MAAM,EAAE,eAAe;IACvB,UAAU,EAAE,eAAe;;;EAC7B,YAAY;IACV,eAAe,EAAE,SAAS;;;EAC5B,6DAA6D;IAC3D,OAAO,EAAE,EAAE;;;EACb,eAAe;IACb,iBAAiB,EAAE,KAAK;;;EAC1B,KAAK;IACH,OAAO,EAAE,kBAAkB;;;EAC7B,OAAO;IACL,iBAAiB,EAAE,KAAK;;;EAC1B,GAAG;IACD,SAAS,EAAE,eAAe;;;;IAE1B,MAAM,EAAE,KAAK;;EAEf,kDAAS;IACP,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;;;EACX,+CAAM;IACJ,gBAAgB,EAAE,KAAK;;;AChM3B,woDAAY;EACV,sBAAsB,EAAE,WAAW;;;AAqDrC,SAAS;EARP,KAAK,EAAE,CAAC;;AACR,iCAAS;EAEP,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;;AACb,eAAO;EACL,KAAK,EAAE,IAAI;;;;;;;;;AC1Gf,UAUC;EATC,WAAW,EAAE,aAAa;EAC1B,GAAG,EAAE,+CAAgE;EACrE,GAAG,EAAE,ySAAmG;EAKxG,WAAW,EAAE,MAAM;EACnB,UAAU,EAAE,MAAM;;ACTpB,mgBAAmB;EACjB,OAAO,EAAE,YAAY;EACrB,IAAI,EAAE,uCAAuC;EAC7C,SAAS,EAAE,OAAO;EAClB,cAAc,EAAE,IAAI;EACpB,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;;;;ACLpC,MAAsB;EACpB,SAAS,EAAE,SAAS;EACpB,WAAW,EAAE,MAAS;EACtB,cAAc,EAAE,IAAI;;;AAEtB,MAAsB;EAAE,SAAS,EAAE,GAAG;;;AACtC,MAAsB;EAAE,SAAS,EAAE,GAAG;;;AACtC,MAAsB;EAAE,SAAS,EAAE,GAAG;;;AACtC,MAAsB;EAAE,SAAS,EAAE,GAAG;;;ACVtC,MAAsB;EACpB,KAAK,EAAE,SAAW;EAClB,UAAU,EAAE,MAAM;;;ACDpB,MAAsB;EACpB,YAAY,EAAE,CAAC;EACf,WAAW,ECIU,SAAS;EDH9B,eAAe,EAAE,IAAI;;AACrB,WAAK;EAAE,QAAQ,EAAE,QAAQ;;;AAE3B,MAAsB;EACpB,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,UAAa;EACnB,KAAK,ECHgB,SAAS;EDI9B,GAAG,EAAE,SAAU;EACf,UAAU,EAAE,MAAM;;AAClB,YAAuB;EACrB,IAAI,EAAE,UAA0B;;;AEbpC,UAA0B;EACxB,OAAO,EAAE,gBAAgB;EACzB,MAAM,EAAE,iBAA4B;EACpC,aAAa,EAAE,IAAI;;;AAGrB,WAAY;EAAE,KAAK,EAAE,KAAK;;;AAC1B,UAAW;EAAE,KAAK,EAAE,IAAI;;;AAGtB,mqBAAY;EAAE,YAAY,EAAE,IAAI;;AAChC,mrBAAa;EAAE,WAAW,EAAE,IAAI;;;ACXlC,QAAwB;EACtB,iBAAiB,EAAE,0BAA0B;EACrC,SAAS,EAAE,0BAA0B;;;AAG/C,0BASC;EARC,EAAG;IACD,iBAAiB,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;;EAEjC,IAAK;IACH,iBAAiB,EAAE,cAAc;IACzB,SAAS,EAAE,cAAc;;;AAIrC,kBASC;EARC,EAAG;IACD,iBAAiB,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;;EAEjC,IAAK;IACH,iBAAiB,EAAE,cAAc;IACzB,SAAS,EAAE,cAAc;;;ACvBrC,aAA8B;ECU5B,MAAM,EAAE,wDAAmE;EAC3E,iBAAiB,EAAE,aAAgB;EAC/B,aAAa,EAAE,aAAgB;EAC3B,SAAS,EAAE,aAAgB;;;ADZrC,cAA8B;ECS5B,MAAM,EAAE,wDAAmE;EAC3E,iBAAiB,EAAE,cAAgB;EAC/B,aAAa,EAAE,cAAgB;EAC3B,SAAS,EAAE,cAAgB;;;ADXrC,cAA8B;ECQ5B,MAAM,EAAE,wDAAmE;EAC3E,iBAAiB,EAAE,cAAgB;EAC/B,aAAa,EAAE,cAAgB;EAC3B,SAAS,EAAE,cAAgB;;;ADTrC,mBAAmC;ECajC,MAAM,EAAE,wDAAmE;EAC3E,iBAAiB,EAAE,YAAoB;EACnC,aAAa,EAAE,YAAoB;EAC/B,SAAS,EAAE,YAAoB;;;ADfzC,iBAAmC;ECYjC,MAAM,EAAE,wDAAmE;EAC3E,iBAAiB,EAAE,YAAoB;EACnC,aAAa,EAAE,YAAoB;EAC/B,SAAS,EAAE,YAAoB;;;ADVzC;;;;uBAIuC;EACrC,MAAM,EAAE,IAAI;;;AEfd,SAAyB;EACvB,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,YAAY;EACrB,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,GAAG;EACX,WAAW,EAAE,GAAG;EAChB,cAAc,EAAE,MAAM;;;AAExB,0BAAyD;EACvD,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;;;AAEpB,YAA4B;EAAE,WAAW,EAAE,OAAO;;;AAClD,YAA4B;EAAE,SAAS,EAAE,GAAG;;;AAC5C,WAA2B;EAAE,KAAK,ELXZ,IAAI;;;;;AML1B,gBAAgC;EAAE,OAAO,ENwP1B,GAAO;;;AMvPtB,gBAAgC;EAAE,OAAO,ENkV1B,GAAO;;;AMjVtB,sCAAiC;EAAE,OAAO,ENyZ1B,GAAO;;;AMxZvB,qBAAqC;EAAE,OAAO,EN2K1B,GAAO;;;AM1K3B,gBAAgC;EAAE,OAAO,ENqQ1B,GAAO;;;AMpQtB,eAA+B;EAAE,OAAO,ENkc1B,GAAO;;;AMjcrB,iBAAiC;EAAE,OAAO,ENsc1B,GAAO;;;AMrcvB,eAA+B;EAAE,OAAO,EN0gB1B,GAAO;;;AMzgBrB,eAA+B;EAAE,OAAO,EN+M1B,GAAO;;;AM9MrB,mBAAmC;EAAE,OAAO,EN8d1B,GAAO;;;AM7dzB,aAA6B;EAAE,OAAO,EN4d1B,GAAO;;;AM3dnB,kBAAkC;EAAE,OAAO,EN6d1B,GAAO;;;AM5dxB,gBAAgC;EAAE,OAAO,EN+F1B,GAAO;;;AM9FtB;;gBAEgC;EAAE,OAAO,ENge1B,GAAO;;;AM/dtB,sBAAsC;EAAE,OAAO,EN6Y1B,GAAO;;;AM5Y5B,uBAAuC;EAAE,OAAO,EN2Y1B,GAAO;;;AM1Y7B,oBAAoC;EAAE,OAAO,ENqW1B,GAAO;;;AMpW1B,iBAAiC;EAAE,OAAO,ENwZ1B,GAAO;;;AMvZvB;cAC8B;EAAE,OAAO,ENmH1B,GAAO;;;AMlHpB,kBAAkC;EAAE,OAAO,ENoe1B,GAAO;;;AMnexB,kCAA+B;EAAE,OAAO,ENqP1B,GAAO;;;AMpPrB,iBAAiC;EAAE,OAAO,ENmL1B,GAAO;;;AMlLvB,kBAAkC;EAAE,OAAO,ENqG1B,GAAO;;;AMpGxB,eAA+B;EAAE,OAAO,ENqX1B,GAAO;;;AMpXrB,yHAAmC;EAAE,OAAO,ENyI1B,GAAO;;;AMxIzB,8BAA8C;EAAE,OAAO,ENG1B,GAAO;;;AMFpC,4BAA4C;EAAE,OAAO,ENK1B,GAAO;;;AMJlC,gBAAgC;EAAE,OAAO,ENmP1B,GAAO;;;AMlPtB,wBAAwC;EAAE,OAAO,ENkV1B,GAAO;;;AMjV9B;iBACiC;EAAE,OAAO,ENyW1B,GAAO;;;AMxWvB,kBAAkC;EAAE,OAAO,ENoW1B,GAAO;;;AMnWxB,mBAAmC;EAAE,OAAO,ENiR1B,GAAO;;;AMhRzB,eAA+B;EAAE,OAAO,ENoR1B,GAAO;;;AMnRrB,eAA+B;EAAE,OAAO,ENsL1B,GAAO;;;AMrLrB,qBAAqC;EAAE,OAAO,ENkO1B,GAAO;;;AMjO3B,qBAAqC;EAAE,OAAO,ENkf1B,GAAO;;;AMjf3B,sBAAsC;EAAE,OAAO,ENgf1B,GAAO;;;AM/e5B,oBAAoC;EAAE,OAAO,ENif1B,GAAO;;;AMhf1B,iBAAiC;EAAE,OAAO,ENiV1B,GAAO;;;AMhVvB,kBAAkC;EAAE,OAAO,ENU1B,GAAO;;;AMTxB,cAA8B;EAAE,OAAO,ENkb1B,GAAO;;;AMjbpB,eAA+B;EAAE,OAAO,ENkb1B,GAAO;;;AMjbrB,kCAA+B;EAAE,OAAO,ENyB1B,GAAO;;;AMxBrB,mBAAmC;EAAE,OAAO,ENyB1B,GAAO;;;AMxBzB,gBAAgC;EAAE,OAAO,ENwU1B,GAAO;;;AMvUtB,iBAAiC;EAAE,OAAO,ENqC1B,GAAO;;;AMpCvB,eAA+B;EAAE,OAAO,ENoL1B,GAAO;;;AMnLrB,eAA+B;EAAE,OAAO,ENiB1B,GAAO;;;AMhBrB,iBAAiC;EAAE,OAAO,ENqO1B,GAAO;;;AMpOvB,sBAAsC;EAAE,OAAO,EN+a1B,GAAO;;;AM9a5B,qBAAqC;EAAE,OAAO,EN+a1B,GAAO;;;AM9a3B,qBAAqC;EAAE,OAAO,EN3C1B,GAAO;;;AM4C3B,uBAAuC;EAAE,OAAO,EN9C1B,GAAO;;;AM+C7B,sBAAsC;EAAE,OAAO,EN5C1B,GAAO;;;AM6C5B,wBAAwC;EAAE,OAAO,EN/C1B,GAAO;;;AMgD9B,eAA+B;EAAE,OAAO,ENwP1B,GAAO;;;AMvPrB;kBACkC;EAAE,OAAO,EN0R1B,GAAO;;;AMzRxB,iBAAiC;EAAE,OAAO,ENoN1B,GAAO;;;AMnNvB,uBAAuC;EAAE,OAAO,ENqd1B,GAAO;;;AMpd7B;;oBAEoC;EAAE,OAAO,ENsS1B,GAAO;;;AMrS1B,iBAAiC;EAAE,OAAO,EN+R1B,GAAO;;;AM9RvB,qBAAqC;EAAE,OAAO,EN+P1B,GAAO;;;AM9P3B,iBAAiC;EAAE,OAAO,EN7D1B,GAAO;;;AM8DvB,eAA+B;EAAE,OAAO,EN4a1B,GAAO;;;AM3arB;0BAC0C;EAAE,OAAO,EN4R1B,GAAO;;;AM3RhC,yBAAyC;EAAE,OAAO,EN2V1B,GAAO;;;AM1V/B,yBAAyC;EAAE,OAAO,ENqC1B,GAAO;;;AMpC/B,iBAAiC;EAAE,OAAO,ENlC1B,GAAO;;;AMmCvB,wBAAwC;EAAE,OAAO,ENmY1B,GAAO;;;AMlY9B,wBAAwC;EAAE,OAAO,ENkH1B,GAAO;;;AMjH9B,mBAAmC;EAAE,OAAO,EN9B1B,GAAO;;;AM+BzB,eAA+B;EAAE,OAAO,ENgS1B,GAAO;;;AM/RrB,gBAAgC;EAAE,OAAO,EN+Q1B,GAAO;;;AM9QtB,eAA+B;EAAE,OAAO,ENiY1B,GAAO;;;AMhYrB,kBAAkC;EAAE,OAAO,ENqJ1B,GAAO;;;AMpJxB,uBAAuC;EAAE,OAAO,EN6G1B,GAAO;;;AM5G7B,uBAAuC;EAAE,OAAO,EN4X1B,GAAO;;;AM3X7B,gBAAgC;EAAE,OAAO,ENoF1B,GAAO;;;AMnFtB,uBAAuC;EAAE,OAAO,EN+B1B,GAAO;;;AM9B7B,wBAAwC;EAAE,OAAO,EN+B1B,GAAO;;;AM9B9B,sBAAsC;EAAE,OAAO,EN4R1B,GAAO;;;AM3R5B,uBAAuC;EAAE,OAAO,ENkP1B,GAAO;;;AMjP7B,+FAAuC;EAAE,OAAO,ENsZ1B,GAAO;;;AMrZ7B,gGAAuC;EAAE,OAAO,ENiB1B,GAAO;;;AMhB7B,0BAA0C;EAAE,OAAO,ENiS1B,GAAO;;;AMhShC,sBAAsC;EAAE,OAAO,ENuL1B,GAAO;;;AMtL5B,qBAAqC;EAAE,OAAO,ENuD1B,GAAO;;;AMtD3B,yBAAyC;EAAE,OAAO,ENkZ1B,GAAO;;;AMjZ/B,yBAAyC;EAAE,OAAO,ENa1B,GAAO;;;AMZ/B,cAA8B;EAAE,OAAO,ENhD1B,GAAO;;;AMiDpB,qBAAqC;EAAE,OAAO,EN5D1B,GAAO;;;AM6D3B,sBAAsC;EAAE,OAAO,EN5D1B,GAAO;;;AM6D5B,mBAAmC;EAAE,OAAO,EN5D1B,GAAO;;;AM6DzB,qBAAqC;EAAE,OAAO,ENhE1B,GAAO;;;AMiE3B;gBACgC;EAAE,OAAO,ENyT1B,GAAO;;;AMxTtB,iBAAiC;EAAE,OAAO,EN+E1B,GAAO;;;AM9EvB,mBAAmC;EAAE,OAAO,ENuC1B,GAAO;;;AMtCzB,eAA+B;EAAE,OAAO,ENyQ1B,GAAO;;;AMxQrB,gBAAgC;EAAE,OAAO,EN+N1B,GAAO;;;AM9NtB,mBAAmC;EAAE,OAAO,EN/D1B,GAAO;;;AMgEzB,mNAA6C;EAAE,OAAO,ENwE1B,GAAO;;;AMvEnC,eAA+B;EAAE,OAAO,ENmI1B,GAAO;;;AMlIrB,eAA+B;EAAE,OAAO,ENqL1B,GAAO;;;AMpLrB,kCAA+B;EAAE,OAAO,ENyG1B,GAAO;;;AMxGrB,cAA8B;EAAE,OAAO,ENyE1B,GAAO;;;AMxEpB,oBAAoC;EAAE,OAAO,ENyE1B,GAAO;;;AMxE1B;+BAC+C;EAAE,OAAO,ENkE1B,GAAO;;;AMjErC,gBAAgC;EAAE,OAAO,ENyP1B,GAAO;;;AMxPtB,mBAAmC;EAAE,OAAO,ENlC1B,GAAO;;;AMmCzB,iBAAiC;EAAE,OAAO,EN0Q1B,GAAO;;;AMzQvB,kBAAkC;EAAE,OAAO,ENmB1B,GAAO;;;AMlBxB,iBAAiC;EAAE,OAAO,ENqM1B,GAAO;;;AMpMvB,qBAAqC;EAAE,OAAO,ENH1B,GAAO;;;AMI3B,uBAAuC;EAAE,OAAO,ENP1B,GAAO;;;AMQ7B,kBAAkC;EAAE,OAAO,ENiR1B,GAAO;;;AMhRxB,wBAAwC;EAAE,OAAO,EN2S1B,GAAO;;;AM1S9B,iBAAiC;EAAE,OAAO,ENoG1B,GAAO;;;AMnGvB,sBAAsC;EAAE,OAAO,ENqG1B,GAAO;;;AMpG5B,mBAAmC;EAAE,OAAO,ENpF1B,GAAO;;;AMqFzB,mBAAmC;EAAE,OAAO,ENtF1B,GAAO;;;AMuFzB;oBACoC;EAAE,OAAO,ENhF1B,GAAO;;;AMiF1B,yBAAyC;EAAE,OAAO,ENkY1B,GAAO;;;AMjY/B,0BAA0C;EAAE,OAAO,ENyD1B,GAAO;;;AMxDhC,uBAAuC;EAAE,OAAO,EN/C1B,GAAO;;;AMgD7B,cAA8B;EAAE,OAAO,ENsJ1B,GAAO;;;AMrJpB;eAC+B;EAAE,OAAO,ENA1B,GAAO;;;AMCrB,mBAAmC;EAAE,OAAO,ENG1B,GAAO;;;AMFzB,sBAAsC;EAAE,OAAO,ENiW1B,GAAO;;;AMhW5B,wBAAwC;EAAE,OAAO,EN+V1B,GAAO;;;AM9V9B,oBAAoC;EAAE,OAAO,EN2T1B,GAAO;;;AM1T1B,kBAAkC;EAAE,OAAO,EN4H1B,GAAO;;;AM3HxB,mBAAmC;EAAE,OAAO,EN2R1B,GAAO;;;AM1RzB,0BAA0C;EAAE,OAAO,ENiK1B,GAAO;;;AMhKhC,qBAAqC;EAAE,OAAO,ENwV1B,GAAO;;;AMvV3B,wBAAwC;EAAE,OAAO,ENsC1B,GAAO;;;AMrC9B,kBAAkC;EAAE,OAAO,ENsR1B,GAAO;;;AMrRxB,iBAAiC;EAAE,OAAO,ENyW1B,GAAO;;;AMxWvB,wBAAwC;EAAE,OAAO,ENiG1B,GAAO;;;AMhG9B,iBAAiC;EAAE,OAAO,ENyX1B,GAAO;;;AMxXvB,kBAAkC;EAAE,OAAO,EN+I1B,GAAO;;;AM9IxB,gBAAgC;EAAE,OAAO,EN6M1B,GAAO;;;AM5MtB,mBAAmC;EAAE,OAAO,EN2S1B,GAAO;;;AM1SzB,qBAAqC;EAAE,OAAO,ENjF1B,GAAO;;;AMkF3B,uBAAuC;EAAE,OAAO,EN2M1B,GAAO;;;AM1M7B,kBAAkC;EAAE,OAAO,ENyW1B,GAAO;;;AMxWxB,mBAAmC;EAAE,OAAO,ENgC1B,GAAO;;;AM/BzB,sCAAiC;EAAE,OAAO,ENsF1B,GAAO;;;AMrFvB,iBAAiC;EAAE,OAAO,EN6W1B,GAAO;;;AM5WvB,sBAAsC;EAAE,OAAO,ENb1B,GAAO;;;AMc5B,cAA8B;EAAE,OAAO,ENmP1B,GAAO;;;AMlPpB,gBAAgC;EAAE,OAAO,ENoG1B,GAAO;;;AMnGtB,mBAAmC;EAAE,OAAO,ENpF1B,GAAO;;;AMqFzB,eAA+B;EAAE,OAAO,EN1G1B,GAAO;;;AM2GrB,sBAAsC;EAAE,OAAO,EN7D1B,GAAO;;;AM8D5B,uBAAuC;EAAE,OAAO,EN8F1B,GAAO;;;AM7F7B,sBAAsC;EAAE,OAAO,EN4F1B,GAAO;;;AM3F5B,oBAAoC;EAAE,OAAO,EN6F1B,GAAO;;;AM5F1B,sBAAsC;EAAE,OAAO,ENyF1B,GAAO;;;AMxF5B,4DAA4C;EAAE,OAAO,EN5I1B,GAAO;;;AM6IlC,8DAA6C;EAAE,OAAO,ENxI1B,GAAO;;;AMyInC,0BAA0C;EAAE,OAAO,ENxI1B,GAAO;;;AMyIhC,4BAA4C;EAAE,OAAO,ENhJ1B,GAAO;;;AMiJlC,gBAAgC;EAAE,OAAO,EN2E1B,GAAO;;;AM1EtB,iBAAiC;EAAE,OAAO,ENqX1B,GAAO;;;AMpXvB,gBAAgC;EAAE,OAAO,ENgT1B,GAAO;;;AM/StB,iBAAiC;EAAE,OAAO,ENuC1B,GAAO;;;AMtCvB,oBAAoC;EAAE,OAAO,ENxG1B,GAAO;;;AMyG1B,qBAAqC;EAAE,OAAO,ENzI1B,GAAO;;;AM0I3B;gBACgC;EAAE,OAAO,EN8V1B,GAAO;;;AM7VtB;;iBAC+B;EAAE,OAAO,ENwH1B,GAAO;;;AMvHrB,gBAAgC;EAAE,OAAO,ENxD1B,GAAO;;;AMyDtB,gBAAgC;EAAE,OAAO,ENsC1B,GAAO;;;AMrCtB;mBACmC;EAAE,OAAO,EN+N1B,GAAO;;;AM9NzB;kBACkC;EAAE,OAAO,ENyB1B,GAAO;;;AMxBxB,oBAAoC;EAAE,OAAO,EN8J1B,GAAO;;;AM7J1B;mBACmC;EAAE,OAAO,ENiC1B,GAAO;;;AMhCzB,iBAAiC;EAAE,OAAO,ENkQ1B,GAAO;;;AMjQvB;;eAE+B;EAAE,OAAO,EN9I1B,GAAO;;;AM+IrB,kBAAkC;EAAE,OAAO,ENiH1B,GAAO;;;AMhHxB,kBAAkC;EAAE,OAAO,EN+G1B,GAAO;;;AM9GxB,wBAAwC;EAAE,OAAO,EN4Q1B,GAAO;;;AM3Q9B,oBAAoC;EAAE,OAAO,ENgU1B,GAAO;;;AM/T1B,gBAAgC;EAAE,OAAO,ENkR1B,GAAO;;;AMjRtB,gBAAgC;EAAE,OAAO,ENmH1B,GAAO;;;AMlHtB,gBAAgC;EAAE,OAAO,ENmT1B,GAAO;;;AMlTtB,oBAAoC;EAAE,OAAO,ENgK1B,GAAO;;;AM/J1B,2BAA2C;EAAE,OAAO,ENgK1B,GAAO;;;AM/JjC,6BAA6C;EAAE,OAAO,EN8C1B,GAAO;;;AM7CnC,sBAAsC;EAAE,OAAO,EN4C1B,GAAO;;;AM3C5B,gBAAgC;EAAE,OAAO,ENgI1B,GAAO;;;AM/HtB,0EAAqC;EAAE,OAAO,ENxH1B,GAAO;;;AMyH3B,mBAAmC;EAAE,OAAO,ENlH1B,GAAO;;;AMmHzB,qBAAqC;EAAE,OAAO,ENzH1B,GAAO;;;AM0H3B,sBAAsC;EAAE,OAAO,ENzH1B,GAAO;;;AM0H5B,kBAAkC;EAAE,OAAO,EN3E1B,GAAO;;;AM4ExB;eAC+B;EAAE,OAAO,EN4N1B,GAAO;;;AM3NrB;oBACoC;EAAE,OAAO,ENgO1B,GAAO;;;AM/N1B;mBACmC;EAAE,OAAO,EN6N1B,GAAO;;;AM5NzB,mBAAmC;EAAE,OAAO,EN/C1B,GAAO;;;AMgDzB,mBAAmC;EAAE,OAAO,ENmF1B,GAAO;;;AMlFzB;eAC+B;EAAE,OAAO,EN0S1B,GAAO;;;AMzSrB;gBACgC;EAAE,OAAO,ENW1B,GAAO;;;AMVtB;qBACqC;EAAE,OAAO,EN0P1B,GAAO;;;AMzP3B,oBAAoC;EAAE,OAAO,ENxF1B,GAAO;;;AMyF1B,qBAAqC;EAAE,OAAO,ENvF1B,GAAO;;;AMwF3B;eAC+B;EAAE,OAAO,ENlK1B,GAAO;;;AMmKrB,kBAAkC;EAAE,OAAO,ENoM1B,GAAO;;;AMnMxB,mBAAmC;EAAE,OAAO,EN8R1B,GAAO;;;AM7RzB;oBACoC;EAAE,OAAO,EN9G1B,GAAO;;;AM+G1B,sBAAsC;EAAE,OAAO,ENiE1B,GAAO;;;AMhE5B,mBAAmC;EAAE,OAAO,EN1D1B,GAAO;;;AM2DzB,yBAAyC;EAAE,OAAO,EN7G1B,GAAO;;;AM8G/B,uBAAuC;EAAE,OAAO,EN7G1B,GAAO;;;AM8G7B,kBAAkC;EAAE,OAAO,ENkS1B,GAAO;;;AMjSxB,sBAAsC;EAAE,OAAO,ENgO1B,GAAO;;;AM/N5B,mBAAmC;EAAE,OAAO,ENqO1B,GAAO;;;AMpOzB,iBAAiC;EAAE,OAAO,ENxL1B,GAAO;;;AMyLvB,iBAAiC;EAAE,OAAO,EN7G1B,GAAO;;;AM8GvB,kBAAkC;EAAE,OAAO,EN3F1B,GAAO;;;AM4FxB,sBAAsC;EAAE,OAAO,ENpC1B,GAAO;;;AMqC5B,qBAAqC;EAAE,OAAO,ENzK1B,GAAO;;;AM0K3B,qBAAqC;EAAE,OAAO,ENqB1B,GAAO;;;AMpB3B,oBAAoC;EAAE,OAAO,EN3O1B,GAAO;;;AM4O1B,iBAAiC;EAAE,OAAO,EN4E1B,GAAO;;;AM3EvB,sBAAsC;EAAE,OAAO,ENxD1B,GAAO;;;AMyD5B,eAA+B;EAAE,OAAO,ENrM1B,GAAO;;;AMsMrB,mBAAmC;EAAE,OAAO,ENG1B,GAAO;;;AMFzB,sBAAsC;EAAE,OAAO,ENuH1B,GAAO;;;AMtH5B,4BAA4C;EAAE,OAAO,EN5O1B,GAAO;;;AM6OlC,6BAA6C;EAAE,OAAO,EN5O1B,GAAO;;;AM6OnC,0BAA0C;EAAE,OAAO,EN5O1B,GAAO;;;AM6OhC,4BAA4C;EAAE,OAAO,ENhP1B,GAAO;;;AMiPlC,qBAAqC;EAAE,OAAO,EN5O1B,GAAO;;;AM6O3B,sBAAsC;EAAE,OAAO,EN5O1B,GAAO;;;AM6O5B,mBAAmC;EAAE,OAAO,EN5O1B,GAAO;;;AM6OzB,qBAAqC;EAAE,OAAO,ENhP1B,GAAO;;;AMiP3B,kBAAkC;EAAE,OAAO,ENxG1B,GAAO;;;AMyGxB,iBAAiC;EAAE,OAAO,ENyB1B,GAAO;;;AMxBvB,iBAAiC;EAAE,OAAO,ENmN1B,GAAO;;;AMlNvB;iBACiC;EAAE,OAAO,ENmE1B,GAAO;;;AMlEvB,mBAAmC;EAAE,OAAO,ENlJ1B,GAAO;;;AMmJzB,qBAAqC;EAAE,OAAO,ENiH1B,GAAO;;;AMhH3B,sBAAsC;EAAE,OAAO,ENiH1B,GAAO;;;AMhH5B,kBAAkC;EAAE,OAAO,ENiL1B,GAAO;;;AMhLxB,iBAAiC;EAAE,OAAO,ENvJ1B,GAAO;;;AMwJvB;gBACgC;EAAE,OAAO,ENyH1B,GAAO;;;AMxHtB,qBAAqC;EAAE,OAAO,EN9B1B,GAAO;;;AM+B3B,mBAAmC;EAAE,OAAO,ENjD1B,GAAO;;;AMkDzB,wBAAwC;EAAE,OAAO,ENhD1B,GAAO;;;AMiD9B,kBAAkC;EAAE,OAAO,EN2J1B,GAAO;;;AM1JxB,kBAAkC;EAAE,OAAO,EN9C1B,GAAO;;;AM+CxB,gBAAgC;EAAE,OAAO,EN+C1B,GAAO;;;AM9CtB,kBAAkC;EAAE,OAAO,EN9C1B,GAAO;;;AM+CxB,qBAAqC;EAAE,OAAO,ENI1B,GAAO;;;AMH3B,iBAAiC;EAAE,OAAO,EN9D1B,GAAO;;;AM+DvB,yBAAyC;EAAE,OAAO,ENhE1B,GAAO;;;AMiE/B,mBAAmC;EAAE,OAAO,ENsM1B,GAAO;;;AMrMzB,eAA+B;EAAE,OAAO,EN1J1B,GAAO;;;AM2JrB;oBACoC;EAAE,OAAO,EN4G1B,GAAO;;;AM3G1B;;sBAEsC;EAAE,OAAO,ENwK1B,GAAO;;;AMvK5B,yBAAyC;EAAE,OAAO,ENmB1B,GAAO;;;AMlB/B,eAA+B;EAAE,OAAO,ENjJ1B,GAAO;;;AMkJrB,oBAAoC;EAAE,OAAO,ENjK1B,GAAO;;;AMkK1B;uBACuC;EAAE,OAAO,EN9L1B,GAAO;;;AM+L7B,mBAAmC;EAAE,OAAO,ENmF1B,GAAO;;;AMlFzB,eAA+B;EAAE,OAAO,ENvB1B,GAAO;;;AMwBrB,sBAAsC;EAAE,OAAO,ENvH1B,GAAO;;;AMwH5B,sBAAsC;EAAE,OAAO,EN6K1B,GAAO;;;AM5K5B,oBAAoC;EAAE,OAAO,ENyK1B,GAAO;;;AMxK1B,iBAAiC;EAAE,OAAO,EN9H1B,GAAO;;;AM+HvB,uBAAuC;EAAE,OAAO,EN0E1B,GAAO;;;AMzE7B,qBAAqC;EAAE,OAAO,ENwB1B,GAAO;;;AMvB3B,2BAA2C;EAAE,OAAO,ENwB1B,GAAO;;;AMvBjC,iBAAiC;EAAE,OAAO,ENqH1B,GAAO;;;AMpHvB,qBAAqC;EAAE,OAAO,EN9N1B,GAAO;;;AM+N3B,4BAA4C;EAAE,OAAO,EN1F1B,GAAO;;;AM2FlC,iBAAiC;EAAE,OAAO,EN2F1B,GAAO;;;AM1FvB,iBAAiC;EAAE,OAAO,ENc1B,GAAO;;;AMbvB,8BAA8C;EAAE,OAAO,ENtM1B,GAAO;;;AMuMpC,+BAA+C;EAAE,OAAO,ENtM1B,GAAO;;;AMuMrC,4BAA4C;EAAE,OAAO,ENtM1B,GAAO;;;AMuMlC,8BAA8C;EAAE,OAAO,EN1M1B,GAAO;;;AM2MpC,gBAAgC;EAAE,OAAO,EN7C1B,GAAO;;;AM8CtB,eAA+B;EAAE,OAAO,ENtK1B,GAAO;;;AMuKrB,iBAAiC;EAAE,OAAO,EN9S1B,GAAO;;;AM+SvB,qBAAqC;EAAE,OAAO,EN+M1B,GAAO;;;AM9M3B,mBAAmC;EAAE,OAAO,EN/O1B,GAAO;;;AMgPzB,qBAAqC;EAAE,OAAO,ENtJ1B,GAAO;;;AMuJ3B,qBAAqC;EAAE,OAAO,ENtJ1B,GAAO;;;AMuJ3B,qBAAqC;EAAE,OAAO,ENmF1B,GAAO;;;AMlF3B,sBAAsC;EAAE,OAAO,EN6C1B,GAAO;;;AM5C5B,iBAAiC;EAAE,OAAO,EN0K1B,GAAO;;;AMzKvB,uBAAuC;EAAE,OAAO,ENO1B,GAAO;;;AMN7B,4IAAyC;EAAE,OAAO,ENO1B,GAAO;;;AMN/B,mBAAmC;EAAE,OAAO,EN/B1B,GAAO;;;AMgCzB,qBAAqC;EAAE,OAAO,ENjC1B,GAAO;;;AMkC3B,uBAAuC;EAAE,OAAO,EN3N1B,GAAO;;;AM4N7B,wBAAwC;EAAE,OAAO,ENyB1B,GAAO;;;AMxB9B,+BAA+C;EAAE,OAAO,ENlJ1B,GAAO;;;AMmJrC,uBAAuC;EAAE,OAAO,ENuF1B,GAAO;;;AMtF7B,kBAAkC;EAAE,OAAO,EN9L1B,GAAO;;;AM+LxB;8BAC8C;EAAE,OAAO,ENnP1B,GAAO;;;AMoPpC;4BAC4C;EAAE,OAAO,ENlP1B,GAAO;;;AMmPlC;+BAC+C;EAAE,OAAO,ENrP1B,GAAO;;;AMsPrC;cAC8B;EAAE,OAAO,ENpK1B,GAAO;;;AMqKpB,cAA8B;EAAE,OAAO,ENzG1B,GAAO;;;AM0GpB;cAC8B;EAAE,OAAO,ENwL1B,GAAO;;;AMvLpB;cAC8B;EAAE,OAAO,ENrE1B,GAAO;;;AMsEpB;;;cAG8B;EAAE,OAAO,ENnE1B,GAAO;;;AMoEpB;;cAE8B;EAAE,OAAO,ENqD1B,GAAO;;;AMpDpB;cAC8B;EAAE,OAAO,ENpE1B,GAAO;;;AMqEpB;cAC8B;EAAE,OAAO,EN1R1B,GAAO;;;AM2RpB,eAA+B;EAAE,OAAO,ENlK1B,GAAO;;;AMmKrB,oBAAoC;EAAE,OAAO,ENtJ1B,GAAO;;;AMuJ1B,yBAAyC;EAAE,OAAO,EN4E1B,GAAO;;;AM3E/B,0BAA0C;EAAE,OAAO,EN4E1B,GAAO;;;AM3EhC,0BAA0C;EAAE,OAAO,EN4E1B,GAAO;;;AM3EhC,2BAA2C;EAAE,OAAO,EN4E1B,GAAO;;;AM3EjC,2BAA2C;EAAE,OAAO,EN+E1B,GAAO;;;AM9EjC,4BAA4C;EAAE,OAAO,EN+E1B,GAAO;;;AM9ElC,oBAAoC;EAAE,OAAO,EN+H1B,GAAO;;;AM9H1B,sBAAsC;EAAE,OAAO,EN2H1B,GAAO;;;AM1H5B,yBAAyC;EAAE,OAAO,EN4L1B,GAAO;;;AM3L/B,kBAAkC;EAAE,OAAO,ENyL1B,GAAO;;;AMxLxB,eAA+B;EAAE,OAAO,ENmL1B,GAAO;;;AMlLrB,sBAAsC;EAAE,OAAO,ENmL1B,GAAO;;;AMlL5B,uBAAuC;EAAE,OAAO,ENuL1B,GAAO;;;AMtL7B,kBAAkC;EAAE,OAAO,EN/M1B,GAAO;;;AMgNxB,yBAAyC;EAAE,OAAO,ENgF1B,GAAO;;;AM/E/B,oBAAoC;EAAE,OAAO,ENjG1B,GAAO;;;AMkG1B,iBAAiC;EAAE,OAAO,ENxJ1B,GAAO;;;AMyJvB,cAA8B;EAAE,OAAO,ENhX1B,GAAO;;;AMiXpB,4CAAoC;EAAE,OAAO,ENzT1B,GAAO;;;AM0T1B,2BAA2C;EAAE,OAAO,ENzT1B,GAAO;;;AM0TjC,iBAAiC;EAAE,OAAO,ENqI1B,GAAO;;;AMpIvB,wBAAwC;EAAE,OAAO,ENqI1B,GAAO;;;AMpI9B,0BAA0C;EAAE,OAAO,ENrE1B,GAAO;;;AMsEhC,wBAAwC;EAAE,OAAO,ENnE1B,GAAO;;;AMoE9B,0BAA0C;EAAE,OAAO,ENtE1B,GAAO;;;AMuEhC,2BAA2C;EAAE,OAAO,ENtE1B,GAAO;;;AMuEjC,gBAAgC;EAAE,OAAO,ENxW1B,GAAO;;;AMyWtB,kBAAkC;EAAE,OAAO,EN8J1B,GAAO;;;AM7JxB,kBAAkC;EAAE,OAAO,ENpX1B,GAAO;;;AMqXxB,gBAAgC;EAAE,OAAO,ENnF1B,GAAO;;;AMoFtB,mBAAmC;EAAE,OAAO,ENjO1B,GAAO;;;AMkOzB,gBAAgC;EAAE,OAAO,ENsC1B,GAAO;;;AMrCtB,qBAAqC;EAAE,OAAO,ENhK1B,GAAO;;;AMiK3B,iBAAiC;EAAE,OAAO,ENmH1B,GAAO;;;AMlHvB,iBAAiC;EAAE,OAAO,ENxM1B,GAAO;;;AMyMvB,eAA+B;EAAE,OAAO,ENzE1B,GAAO;;;AM0ErB,iBAAiC;EAAE,OAAO,ENrJ1B,GAAO;;;AMsJvB,gBAAgC;EAAE,OAAO,EN2E1B,GAAO;;;AM1EtB,iBAAiC;EAAE,OAAO,EN7D1B,GAAO;;;AM8DvB,kBAAkC;EAAE,OAAO,ENpX1B,GAAO;;;AMqXxB,cAA8B;EAAE,OAAO,ENpU1B,GAAO;;;AMqUpB,aAA6B;EAAE,OAAO,ENsI1B,GAAO;;;AMrInB,gBAAgC;EAAE,OAAO,EN2I1B,GAAO;;;AM1ItB,iBAAiC;EAAE,OAAO,ENX1B,GAAO;;;AMYvB,oBAAoC;EAAE,OAAO,EN5D1B,GAAO;;;AM6D1B,yBAAyC;EAAE,OAAO,ENgD1B,GAAO;;;AM/C/B,+BAA+C;EAAE,OAAO,ENrX1B,GAAO;;;AMsXrC,8BAA8C;EAAE,OAAO,ENvX1B,GAAO;;;AMwXpC;8BAC8C;EAAE,OAAO,EN5T1B,GAAO;;;AM6TpC,uBAAuC;EAAE,OAAO,ENvP1B,GAAO;;;AMwP7B,qBAAqC;EAAE,OAAO,ENoI1B,GAAO;;;AMnI3B,uBAAuC;EAAE,OAAO,ENyH1B,GAAO;;;AMxH7B;cAC8B;EAAE,OAAO,ENiG1B,GAAO;;;AMhGpB,yEAAwC;EAAE,OAAO,ENzC1B,GAAO;;;AM0C9B,wBAAwC;EAAE,OAAO,EN+B1B,GAAO;;;AM9B9B,gBAAgC;EAAE,OAAO,ENa1B,GAAO;;;AMZtB,0BAA0C;EAAE,OAAO,ENnP1B,GAAO;;;AMoPhC,oBAAoC;EAAE,OAAO,ENgI1B,GAAO;;;AM/H1B,iBAAiC;EAAE,OAAO,EN9E1B,GAAO;;;AM+EvB;;qBAEqC;EAAE,OAAO,ENmG1B,GAAO;;;AMlG3B;yBACyC;EAAE,OAAO,EN3K1B,GAAO;;;AM4K/B,gBAAgC;EAAE,OAAO,EN6H1B,GAAO;;;AM5HtB,iBAAiC;EAAE,OAAO,ENjL1B,GAAO;;;AMkLvB,iBAAiC;EAAE,OAAO,ENxC1B,GAAO;;;AMyCvB,wBAAwC;EAAE,OAAO,ENxC1B,GAAO;;;AMyC9B,6BAA6C;EAAE,OAAO,ENuC1B,GAAO;;;AMtCnC,sBAAsC;EAAE,OAAO,ENqC1B,GAAO;;;AMpC5B,oBAAoC;EAAE,OAAO,ENlR1B,GAAO;;;AMmR1B,eAA+B;EAAE,OAAO,ENhR1B,GAAO;;;AMiRrB,qBAAqC;EAAE,OAAO,ENxE1B,GAAO;;;AMyE3B,yBAAyC;EAAE,OAAO,ENxE1B,GAAO;;;AMyE/B,iBAAiC;EAAE,OAAO,EN7Q1B,GAAO;;;AM8QvB,iBAAiC;EAAE,OAAO,EN3J1B,GAAO;;;AM4JvB,mBAAmC;EAAE,OAAO,ENtJ1B,GAAO;;;AMuJzB,cAA8B;EAAE,OAAO,ENtP1B,GAAO;;;AMuPpB,mBAAmC;EAAE,OAAO,EN3W1B,GAAO;;;AM4WzB,gBAAgC;EAAE,OAAO,ENjU1B,GAAO;;;AMkUtB,cAA8B;EAAE,OAAO,EN1F1B,GAAO;;;AM2FpB,gBAAgC;EAAE,OAAO,ENM1B,GAAO;;;AMLtB,eAA+B;EAAE,OAAO,ENrS1B,GAAO;;;AMsSrB,gBAAgC;EAAE,OAAO,ENrS1B,GAAO;;;AMsStB,kBAAkC;EAAE,OAAO,ENtY1B,GAAO;;;AMuYxB,yBAAyC;EAAE,OAAO,ENtY1B,GAAO;;;AMuY/B,gBAAgC;EAAE,OAAO,ENa1B,GAAO;;;AMZtB,uBAAuC;EAAE,OAAO,ENa1B,GAAO;;;AMZ7B,kBAAkC;EAAE,OAAO,EN/D1B,GAAO;;;AMgExB;cAC8B;EAAE,OAAO,EN5W1B,GAAO;;;AM6WpB;eAC+B;EAAE,OAAO,EN2B1B,GAAO;;;AM1BrB,eAA+B;EAAE,OAAO,ENoD1B,GAAO;;;AMnDrB,kBAAkC;EAAE,OAAO,ENN1B,GAAO;;;AMOxB,qBAAqC;EAAE,OAAO,ENzS1B,GAAO;;;AM0S3B,qBAAqC;EAAE,OAAO,ENZ1B,GAAO;;;AMa3B,mBAAmC;EAAE,OAAO,EN/S1B,GAAO;;;AMgTzB,qBAAqC;EAAE,OAAO,ENhQ1B,GAAO;;;AMiQ3B,sBAAsC;EAAE,OAAO,ENzP1B,GAAO;;;AM0P5B,uBAAuC;EAAE,OAAO,ENtQ1B,GAAO;;;AMuQ7B,4BAA4C;EAAE,OAAO,ENhQ1B,GAAO;;;AMiQlC;;uBAEuC;EAAE,OAAO,ENzQ1B,GAAO;;;AM0Q7B;yBACyC;EAAE,OAAO,EN/Q1B,GAAO;;;AMgR/B;uBACuC;EAAE,OAAO,ENhR1B,GAAO;;;AMiR7B;uBACuC;EAAE,OAAO,ENrQ1B,GAAO;;;AMsQ7B,sBAAsC;EAAE,OAAO,ENlR1B,GAAO;;;AMmR5B,eAA+B;EAAE,OAAO,EN4D1B,GAAO;;;AM3DrB,kBAAkC;EAAE,OAAO,ENrV1B,GAAO;;;AMsVxB,mBAAmC;EAAE,OAAO,ENhM1B,GAAO;;;AMiMzB;;;;oBAIoC;EAAE,OAAO,ENtL1B,GAAO;;;AMuL1B,yBAAyC;EAAE,OAAO,ENvW1B,GAAO;;;AMwW/B;gBACgC;EAAE,OAAO,ENlG1B,GAAO;;;AMmGtB;iBACiC;EAAE,OAAO,EN1T1B,GAAO;;;AM2TvB,qBAAqC;EAAE,OAAO,ENpP1B,GAAO;;;AMqP3B,cAA8B;EAAE,OAAO,ENtP1B,GAAO;;;AMuPpB,sBAAsC;EAAE,OAAO,ENxO1B,GAAO;;;AMyO5B,wBAAwC;EAAE,OAAO,ENR1B,GAAO;;;AMS9B,aAA6B;EAAE,OAAO,ENjH1B,GAAO;;;AMkHnB;iBACiC;EAAE,OAAO,ENiD1B,GAAO;;;AMhDvB;sBACsC;EAAE,OAAO,ENrJ1B,GAAO;;;AMsJ5B;wBACwC;EAAE,OAAO,ENtJ1B,GAAO;;;AMuJ9B,kBAAkC;EAAE,OAAO,ENvO1B,GAAO;;;AMwOxB,sBAAsC;EAAE,OAAO,ENvX1B,GAAO;;;AMwX5B,iBAAiC;EAAE,OAAO,EN7O1B,GAAO;;;AM8OvB,oBAAoC;EAAE,OAAO,ENxJ1B,GAAO;;;AMyJ1B,kBAAkC;EAAE,OAAO,ENvE1B,GAAO;;;AMwExB,oBAAoC;EAAE,OAAO,ENtF1B,GAAO;;;AMuF1B,2BAA2C;EAAE,OAAO,ENtF1B,GAAO;;;AMuFjC,eAA+B;EAAE,OAAO,ENnb1B,GAAO;;;AMobrB;mBACmC;EAAE,OAAO,ENjR1B,GAAO;;;AMkRzB,cAA8B;EAAE,OAAO,ENI1B,GAAO;;;AMHpB,qBAAqC;EAAE,OAAO,EN9b1B,GAAO;;;AM+b3B,eAA+B;EAAE,OAAO,EN5I1B,GAAO;;;AM6IrB,qBAAqC;EAAE,OAAO,EN/E1B,GAAO;;;AMgF3B,iBAAiC;EAAE,OAAO,ENI1B,GAAO;;;AMHvB,eAA+B;EAAE,OAAO,ENuC1B,GAAO;;;AMtCrB,sBAAsC;EAAE,OAAO,EN7K1B,GAAO;;;AM8K5B,eAA+B;EAAE,OAAO,EN6B1B,GAAO;;;AM5BrB,qBAAqC;EAAE,OAAO,ENjb1B,GAAO;;;AMkb3B,iBAAiC;EAAE,OAAO,ENpK1B,GAAO;;;AMqKvB,wBAAwC;EAAE,OAAO,ENzQ1B,GAAO;;;AM0Q9B,kBAAkC;EAAE,OAAO,ENha1B,GAAO;;;AMiaxB,wBAAwC;EAAE,OAAO,ENpa1B,GAAO;;;AMqa9B,sBAAsC;EAAE,OAAO,ENta1B,GAAO;;;AMua5B,kBAAkC;EAAE,OAAO,ENxa1B,GAAO;;;AMyaxB,oBAAoC;EAAE,OAAO,ENta1B,GAAO;;;AMua1B,oBAAoC;EAAE,OAAO,ENta1B,GAAO;;;AMua1B,qBAAqC;EAAE,OAAO,ENjd1B,GAAO;;;AMkd3B,uBAAuC;EAAE,OAAO,ENjd1B,GAAO;;;AMkd7B,gBAAgC;EAAE,OAAO,ENtB1B,GAAO;;;AMuBtB,oBAAoC;EAAE,OAAO,EN9X1B,GAAO;;;AM+X1B,aAA6B;EAAE,OAAO,ENne1B,GAAO;;;AMoenB,qBAAqC;EAAE,OAAO,ENtV1B,GAAO;;;AMuV3B,sBAAsC;EAAE,OAAO,EN1L1B,GAAO;;;AM2L5B,wBAAwC;EAAE,OAAO,ENpd1B,GAAO;;;AMqd9B,qBAAqC;EAAE,OAAO,ENzf1B,GAAO;;;AM0f3B,oBAAoC;EAAE,OAAO,EN7K1B,GAAO;;;AM8K1B,qBAAqC;EAAE,OAAO,ENzO1B,GAAO;;;AM0O3B,iBAAiC;EAAE,OAAO,ENtP1B,GAAO;;;AMuPvB,wBAAwC;EAAE,OAAO,ENtP1B,GAAO;;;AMuP9B,qBAAqC;EAAE,OAAO,ENrC1B,GAAO;;;AMsC3B,oBAAoC;EAAE,OAAO,ENrC1B,GAAO;;;AMsC1B,kBAAkC;EAAE,OAAO,EN9d1B,GAAO;;;AM+dxB,cAA8B;EAAE,OAAO,EN5c1B,GAAO;;;AM6cpB,kBAAkC;EAAE,OAAO,ENtQ1B,GAAO;;;AMuQxB,oBAAoC;EAAE,OAAO,EN9gB1B,GAAO;;;AM+gB1B,aAA6B;EAAE,OAAO,EN/b1B,GAAO;;;AMgcnB;;cAE8B;EAAE,OAAO,ENpR1B,GAAO;;;AMqRpB,mBAAmC;EAAE,OAAO,EN/N1B,GAAO;;;AOtUzB,4xBAAK;EACH,WAAW,EAAE,OAAO;;AACpB,+6BAAQ;EACN,WAAW,EC+BuB,aAAa;ED9B/C,OAAO,EAAE,YAAY;EACrB,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,MAAM;EACnB,WAAW,EAAE,CAAC;EACd,eAAe,EAAE,OAAO;;;AAM5B,28BAAkB;EAChB,OAAO,EAAE,YAAY;EACrB,eAAe,EAAE,OAAO;;;AAGxB,syEAAgB;EACd,OAAO,EAAE,MAAM;;AACf,8zEAAuB;EACrB,WAAW,EAAE,KAAI;;AACnB,0wEAAsB;EACpB,OAAO,EAAE,YAAY;;;AAE3B,wjBAA2B;EACzB,OAAO,EAAE,GAAE;EfpBL,kBAAoB,EAAE,qBAAM;EAK5B,eAAiB,EAAE,qBAAM;EAezB,UAAY,EAAE,qBAAM;;;AeE5B,4oBAAiC;EAC/B,OAAO,EAAE,CAAC;;;AAGV,4uCAAuB;EACrB,SAAS,EAAE,IAAI;EACf,cAAc,EAAE,IAAI;;;AEpBxB,qQAAS;EACP,OAAO,EAAE,IAAqB;EAC9B,WAAW,EDayB,IAAI;ECZxC,aAAa,EDYuB,IAAI;ECXxC,UAAU,EAAE,OAAmB;;;AAEjC,+CAAe;EACb,KAAK,EDkC+B,IAAM;ECjC1C,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,KAAK;EACd,KAAK,ED+B+B,IAAM;EC9B1C,UAAU,EAAE,OAAkB;EAC9B,MAAM,EAAE,KAAsB;EAC9B,OAAO,EAAE,QAA2C;EACpD,aAAa,EAAE,IAAqB;;;AAEtC,qaAAyB;EACvB,UAAU,EAAE,OAAkB;;AAC9B,2yCAAe;EACb,UAAU,EAAE,OAAiB;;;AACjC,6YAA0B;EACxB,UAAU,EAAE,OAAmB;;AAC/B,4vCAAe;EACb,UAAU,EAAE,OAAoB;;;AAEpC,iZAAuB;EACrB,UAAU,EAAE,OAAmB;;AAC/B,iwCAAe;EACb,UAAU,EAAE,OAAkB;;;AAElC,8ZAA0B;EACxB,UAAU,EAAE,OAAuB;;AACnC,8xCAAe;EACb,UAAU,EAAE,OAAqB;;;AAErC,idAA0B;EACxB,UAAU,EDmB0B,OAAmB;;AClBvD,o4CAAe;EACb,KAAK,ECjD6B,OAAW;EDkD7C,UAAU,EDJwB,OAAmB;;ACKvD,yeAAC;EACC,KAAK,EDsB6B,OAAW;;;ACpBjD,iaAAsB;EACpB,aAAa,EAAE,CAAC;;;AAsBlB,kBAAkB;EAChB,QAAQ,EAAE,KAAK;EACf,MAAM,EAAE,GAAG;EACX,IAAI,EAAE,CAAC;EACP,OAAO,EDG6B,GAAG;;ACFvC,qBAAE;EACA,OAAO,EAAE,KAAK;EACd,KAAK,EDT6B,KAAK;ECUvC,UAAU,EAAE,WAAW;EACvB,KAAK,EDlC6B,IAAM;ECmCxC,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,8BAA0B;EACtC,OAAO,EAAE,MAAmB;EAC5B,SAAS,EAAE,GAAG;EACd,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;EACT,WAAW,EAAE,IAAI;EACjB,QAAQ,EAAE,MAAM;EjB3FZ,kBAAoB,EAAE,gBAAM;EAK5B,eAAiB,EAAE,gBAAM;EAezB,UAAY,EAAE,gBAAM;;AiByExB,0CAAsB;EACpB,UAAU,EDhCsB,OAAM;;ACiCxC,uCAAmB;EACjB,UAAU,EDzBsB,OAAW;;AC0B7C,0CAAsB;EACpB,UAAU,EDnFsB,OAAO;;ACoFzC,yCAAqB;EACnB,UAAU,EDtEsB,OAAI;;ACuEtC,wBAAI;EACF,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,IAAI;;;AEhFd,oCAAsB;EFmFxB,kBAAkB;IAChB,MAAM,EAAE,IAAI;IACZ,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,IAAI;;EACX,qBAAE;IACA,KAAK,EAAE,IAAI;;;AG3FjB,MAAM;EACJ,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,CAAC;EACT,cAAc,EAAE,QAAQ;EACxB,eAAe,EAAE,MAAM;EACvB,MAAM,EAAE,OAAO;EACf,WAAW,EAAE,MAAM;EACnB,kBAAkB,EAAE,MAAM;EAC1B,SAAS,EAAE,OAAO;;;AACpB,iDAAiD;EAC/C,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;;AACZ,gBAAgB;EACd,MAAM,EAAE,OAAO;;;AAEjB,IAAI;;EAEF,OAAO,EAAE,YAAY;EACrB,aAAa,EAAE,GAAG;EAClB,WAAW,EAAE,MAAM;EACnB,WAAW,EAAE,MAAM;EACnB,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,OAAO;EACf,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,iBAA6F;EACtG,KAAK,EJI+B,IAAM;EIH1C,MAAM,EAAE,4BAAyB;EACjC,gBAAgB,EJeoB,OAAM;EId1C,eAAe,EAAE,IAAI;EACrB,WAAW,EAAE,MAAM;EACnB,WAAW,EFnDyB,2DAAM;EEoD1C,UAAU,EAAE,0FAA8C;EAC1D,YAAY,EAAE,KAAK;EACnB,cAAc,EAAE,MAAM;EACtB,QAAQ,EAAE,MAAM;EAChB,IAAI,EAAE,CAAC;EACP,iBAAiB,EAAE,IAAI;EpBxDjB,mBAAoB,EoByDb,IAAI;EpBpDX,gBAAiB,EoBoDV,IAAI;EpB/CX,eAAgB,EoB+CT,IAAI;EpBrCX,WAAY,EoBqCL,IAAI;EpBzDX,kBAAoB,EAAE,eAAM;EAK5B,eAAiB,EAAE,eAAM;EAezB,UAAY,EAAE,eAAM;;;AoByC5B,UAAU;EACR,UAAU,EAAE,OAAwB;EACpC,KAAK,EJd+B,IAAM;;;AIiB1C,UAAO;EACL,UAAU,EAAE,OAAqC;EACjD,KAAK,EJnB6B,IAAM;;AIoB1C,UAAO;EACL,UAAU,EAAE,OAAqC;EACjD,OAAO,EAAE,CAAC;;AACZ,WAAQ;EACN,UAAU,EAAE,oFAAyC;EACrD,OAAO,EAAE,iBAA6F;;AACxG,YAAS;EACP,KAAK,EJ3B6B,IAAM;;AI4B1C,aAAU;EACR,gBAAgB,EAAE,IAAI;EACtB,MAAM,EAAE,2DAA2D;EACnE,MAAM,EAAE,iBAAmB;EAC3B,OAAO,EAAE,GAAG;EACZ,MAAM,EAAE,WAAW;EACnB,UAAU,EAAE,IAAI;;;AAEpB,aAAa;EACX,gBAAgB,EAAE,IAAI;EACtB,MAAM,EAAE,2DAA2D;EACnE,MAAM,EAAE,iBAAmB;EAC3B,OAAO,EAAE,GAAG;EACZ,MAAM,EAAE,WAAW;EACnB,UAAU,EAAE,IAAI;;AAChB,8DAA0B;EACxB,gBAAgB,EAAE,IAAI;EACtB,MAAM,EAAE,2DAA2D;EACnE,MAAM,EAAE,iBAAmB;EAC3B,OAAO,EAAE,GAAI;EACb,MAAM,EAAE,WAAW;EACnB,UAAU,EAAE,IAAI;;;AAGpB,sBAAsB;EACpB,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;;;AAEX,UAAU;EACR,SAAS,EAAE,GAAG;;;AAEhB,SAAS;EACP,gBAAgB,EAAE,kBAAgB;;AAClC,eAAO;EACL,gBAAgB,EAAE,kBAA6B;;;AAEnD,YAAY;EACV,gBAAgB,EAAE,kBAA2C;EAC7D,KAAK,EAAE,kBAAsB;;AAC7B,kBAAO;EACL,gBAAgB,EAAE,kBAAuD;EACzE,KAAK,EFzH6B,OAAW;;AE0H/C,oBAAS;EACP,KAAK,EAAE,kBAAsB;;;AAEjC,YAAY;EACV,gBAAgB,EAAE,kBAAiB;;AACnC,kBAAO;EACL,gBAAgB,EAAE,kBAA6B;;;AAEnD,WAAW;EACT,gBAAgB,EAAE,kBAAe;;AACjC,iBAAO;EACL,gBAAgB,EAAE,kBAA4B;;;AAElD,YAAY;EACV,gBAAgB,EAAE,kBAAkB;;AACpC,kBAAO;EACL,gBAAgB,EAAE,kBAA+B;;;AACrD,WAAW;EACT,gBAAgB,EJvIoB,IAAI;;AIwIxC,iBAAO;EACL,gBAAgB,EAAE,kBAAoC;;;AAE1D,SAAS;EACP,gBAAgB,EAAE,sBAAsB;EACxC,KAAK,EJxE+B,OAAW;EIyE/C,UAAU,EAAE,IAAI;EAChB,YAAY,EAAE,sBAAsB;;AACpC,eAAO;EACL,gBAAgB,EAAE,sBAAsB;EACxC,KAAK,EAAE,kBAAoC;EAC3C,UAAU,EAAE,IAAI;;AAClB,gBAAQ;EACN,gBAAgB,EAAE,sBAAsB;EACxC,KAAK,EAAE,kBAAoC;EAC3C,UAAU,EAAE,IAAI;;AAClB,iBAAS;EACP,KAAK,EJnG6B,OAAO;;;AIqG7C,oCAAoC;EAClC,cAAc,EAAE,MAAM;;;AAExB,aAAa;EACX,aAAa,EJ1IuB,IAAI;EduExC,KAAK,EAAE,CAAC;;AACR,yCAAS;EAEP,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;;AACb,mBAAO;EACL,KAAK,EAAE,IAAI;;;AmB3Ff,YAAY;EACV,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,YAAY;;;AAIvB,qCAAqC;EACnC,OAAO,EAAE,KAAK;;;AAChB,iBAAiB;EACf,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,CAAC;EACP,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,IAAI;EACX,GAAG,EAAE,IAAI;EACT,SAAS,EAAE,IAAI;EACf,UAAU,EL1B0B,OAAyB;EK2B7D,OAAO,ELmD6B,GAAG;EKlDvC,MAAM,EAAE,iBAAgC;EACxC,UAAU,EAAE,8BAA0B;EACtC,OAAO,EAAE,IAAqB;;AAC9B,0BAAQ;EACN,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,KAAK,EHnC6B,OAAW;EGoC7C,WAAW,EAAE,MAAM;EACnB,SAAS,EAAE,GAAG;EACd,OAAO,EAAE,MAAuB;EAChC,MAAM,EAAE,OAAO;;AACf,gCAAO;EACL,UAAU,ELiCsB,OAAW;EKhC3C,KAAK,ELU2B,IAAM;;AKT1C,8BAAY;EACV,UAAU,EAAE,iBAAgC;EAC5C,MAAM,EAAE,KAAuB;;AACjC,6BAAW;EACT,cAAc,EAAE,IAAqB;;AACrC,kDAAoB;EAClB,KAAK,EAAE,IAAI;;AACf,qCAAmB;EACjB,UAAU,EAAE,OAA4B;EACxC,cAAc,EAAE,SAAS;EACzB,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,GAAG;;AACd,2CAAO;EACL,UAAU,EAAE,OAA4B;;AAC1C,0CAAI;EACF,KAAK,ELN2B,IAAM;;;AKQ5C,6CAA6C;EAC3C,MAAM,EAAE,IAAI;EACZ,GAAG,EAAE,IAAI;EACT,IAAI,EAAE,IAAI;EACV,KAAK,EAAE,CAAC;;;AAGR,iDAAiB;EACf,UAAU,ELnEwB,OAAyB;EKoE3D,UAAU,EAAE,GAAG;;AACjB,mDAAmB;EACjB,OAAO,EAAE,QAA2C;;AACpD,yDAAO;EACL,UAAU,ELCsB,OAAW;EKA3C,KAAK,ELtB2B,IAAM;;;AKwB5C,+CAA+C;EAC7C,KAAK,EAAE,CAAC;EACR,IAAI,EAAE,IAAI;EACV,UAAU,EAAE,KAAK;;;AAGjB,yBAAQ;EACN,OAAO,EAAE,GAAG;EACZ,aAAa,EAAE,oBAA0B;EACzC,WAAW,EAAE,qBAAqB;EAClC,YAAY,EAAE,qBAAqB;EACnC,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,KAAK;EACd,GAAG,EAAE,IAAI;EACT,IAAI,EAAE,GAAG;EACT,WAAW,EAAE,IAAI;;AACnB,gDAA+B;EAC7B,IAAI,EAAE,IAAI;;;ACtEZ,uBAAM;EACJ,OAAO,EAAE,KAAK;;;AAEhB,oIAA+C;EAC7C,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAE,MAAM;EAChB,KAAK,EAAE,CAAC;EACR,cAAc,EAAE,MAAM;;;AAItB,0CAAO;EACL,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,MAAM;EACtB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,YAA+C;EACvD,KAAK,EAAE,IAAI;;AACf,4BAAW;EACT,KAAK,EAAE,IAAI;;AACX,kCAAK;EACH,OAAO,EAAE,KAAK;;AAChB,mCAAM;EACJ,UAAU,EAAE,GAAqB;;;AAEvC,QAAQ;EACN,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;;AACZ,MAAM;EACJ,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,MAAM;EACnB,aAAa,EN/BuB,IAAI;EMgCxC,SAAS,EAAE,IAAI;EACf,YAAY,EAAE,IAAI;;;AACpB,KAAK;EACH,OAAO,EAAE,KAAK;EACd,MAAM,EAAE,cAAa;EACrB,KAAK,ENR+B,IAAU;EMS9C,SAAS,EAAE,GAAG;;;AAEhB,uBAAuB;EACrB,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,CAAC;EACT,cAAc,EAAE,QAAQ;EACxB,eAAe,EAAE,MAAM;;;AAGzB,iBAAiB;EACf,aAAa,ENhDuB,IAAI;EduExC,KAAK,EAAE,CAAC;EqBrGR,SAAS,ECCC,IAAQ;EDChB,WAAI,EAAE,IAAI;EACV,YAAK,EAAE,IAAI;ErBkGb,KAAK,EAAE,CAAC;;AACR,iDAAS;EAEP,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;;AACb,uBAAO;EACL,KAAK,EAAE,IAAI;;AALb,iDAAS;EAEP,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;;AACb,uBAAO;EACL,KAAK,EAAE,IAAI;;;AoBzBf,yDAAyD;EACvD,OAAO,EAAE,IAAI;EACb,KAAK,EN/C+B,OAAI;;;AMoDxC,qGAA+C;EAC7C,cAAc,EAAE,IAAqB;;AACrC,0HAAM;EACJ,KAAK,EAAE,IAAI;;AAEX,mwEAAqP;EACnP,KAAK,EAAE,IAAI;;;AACnB,+BAA+B;EGlF3B,KAAK,EAAE,IAAsB;EAG3B,OAAO,EAAE,KAAK;EAed,YAAoB,EAAE,QAA+B;EACrD,KAAK,EAAE,IAAuC;ECnB5C,YAAoB,EAAE,CAAC;;ADqBzB,0CAAa;EACX,YAAoB,EAAE,CAAC;;;AHgE/B,iCAAiC;EGtF7B,KAAK,EAAE,IAAsB;EAG3B,OAAO,EAAE,KAAK;EAed,YAAoB,EAAE,QAA+B;EACrD,KAAK,EAAE,SAAuC;;AAE9C,4CAAa;EACX,YAAoB,EAAE,CAAC;;ACA7B,iDAAwB;EACtB,YAAoB,EAAE,CAAC;;AAEvB,mDAA0B;EACxB,KAAK,EALY,IAAkC;;;AJqEzD,iCAAiC;EG1F7B,KAAK,EAAE,IAAsB;EAG3B,OAAO,EAAE,KAAK;EAed,YAAoB,EAAE,QAA+B;EACrD,KAAK,EAAE,SAAuC;;AAE9C,4CAAa;EACX,YAAoB,EAAE,CAAC;;ACA7B,iDAAwB;EACtB,YAAoB,EAAE,CAAC;;AAEvB,mDAA0B;EACxB,KAAK,EALY,IAAkC;;;AJ0EzD,uDAAuD;EACrD,MAAM,EAAE,SAA2B;EACnC,SAAS,EAAE,GAAG;;;AAEhB,oBAAoB;EAClB,OAAO,EAAE,YAAY;EACrB,MAAM,EAAE,SAA2B;EACnC,SAAS,EAAE,GAAG;;;AAOZ,itBAAqP;EACnP,KAAK,EAAE,IAAI;;;AAIjB,uBAAuB;EACrB,OAAO,EAAE,YAAY;EACrB,YAAY,EAAE,KAAK;EACnB,KAAK,EAAE,IAAI;EACX,cAAc,EAAE,MAAM;EACtB,SAAS,EAAE,GAAG;;;AAEhB,gBAAgB;EACd,OAAO,EAAE,KAAK;EACd,KAAK,EN7H+B,IAAI;EM8HxC,SAAS,EAAE,GAAG;EACd,UAAU,EAAE,QAAO;EACnB,UAAU,EAAE,MAAM;;AAClB,kBAAC;EACC,SAAS,EAAE,OAAO;EAClB,UAAU,EAAE,MAAM;EAClB,aAAa,EAAE,GAAqB;;AACtC,6BAAY;EACV,aAAa,EAAE,CAAC;;;AA4DpB,KAAK;EACH,WAAW,EAAE,MAAM;;;AAGnB,+DAAmD;EACjD,kBAAkB,EAAE,MAAM;EAC1B,MAAM,EAAE,OAAO;EACf,WAAW,EJ/MuB,2DAAM;EIgNxC,SAAS,EAAE,OAAO;;AACpB,6SAAqP;EACnP,kBAAkB,EAAE,IAAI;EACxB,OAAO,EAAE,GAAqB;EAC9B,OAAO,EAAE,YAAY;EACrB,MAAM,EAAE,cAA6B;EACrC,SAAS,EAAE,GAAG;EACd,WAAW,EJvNuB,2DAAM;EIwNxC,UAAU,EAAE,oBAAmC;EAC/C,aAAa,EAAE,CAAC;EtBxNZ,kBAAoB,EAAE,kBAAM;EAK5B,eAAiB,EAAE,kBAAM;EAezB,UAAY,EAAE,kBAAM;;AsBuM1B,4BAAwB;EACtB,OAAO,EAAE,iBAAkB;;AAC7B,eAAW;EACT,MAAM,EAAE,OAAO;;AACjB,2CAAmC;EtB/N7B,kBAAoB,EsBgOZ,UAAU;EtB3NlB,eAAiB,EsB2NT,UAAU;EtB5MlB,UAAY,EsB4MJ,UAAU;EACtB,OAAO,EAAE,CAAC;EACV,YAAY,EAAE,QAAO;EACrB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,IAAI;;AACd,oBAAgB;EtBrOV,kBAAoB,EsBsOZ,UAAU;EtBjOlB,eAAiB,EsBiOT,UAAU;EtBlNlB,UAAY,EsBkNJ,UAAU;;AACtB,mGAA6D;EAC3D,kBAAkB,EAAE,IAAI;;AAC5B,iYAAyU;EACvU,OAAO,EAAE,CAAC;EACV,OAAO,EAAE,cAAc;EACvB,YAAY,ENxLsB,IAAU;;AMyL9C,oBAAgB;EACd,YAAY,EAAE,eAA8B;;AAC9C,iFAAqE;EACnE,OAAO,EAAE,gBAAsB;EAC/B,OAAO,EAAE,gBAAgB;;AAC3B,ybAAiY;EAC/X,MAAM,EAAE,WAAW;EACnB,gBAAgB,EAAE,OAAmC;;;AAEzD,iEAAiE;EAC/D,KAAK,ENzN+B,OAAI;EM0NxC,MAAM,EAAE,iBAAc;;;AACxB,mFAAmF;EACjF,YAAY,EN5NwB,OAAI;;;AM8NxC,2HAA+G;EAC7G,aAAa,EN/NqB,OAAI;;;AMiO1C,oBAAoB;EAClB,OAAO,EAAE,IAAqB;EAC9B,SAAS,EAAE,IAAI;;;AAKjB,QAAQ;EACN,QAAQ,EAAE,IAAI;EACd,cAAc,EAAE,GAAG;EACnB,KAAK,EAAE,IAAI;EACX,WAAW,EJ3QyB,2DAAM;;;AI4Q5C,gBAAgB;EACd,OAAO,EAAE,aAAgB;EACzB,OAAO,EAAE,YAAY;EACrB,MAAM,EAAE,cAA6B;EACrC,SAAS,EAAE,GAAG;EACd,UAAU,EAAE,oBAAmC;EtBhRzC,kBAAoB,EAAE,kBAAM;EAK5B,eAAiB,EAAE,kBAAM;EAezB,UAAY,EAAE,kBAAM;;;AsB+P5B,MAAM;EACJ,MAAM,EAAE,cAA6B;EACrC,gBAAgB,ENpOoB,IAAM;;AMqO1C,gBAAW;EACT,MAAM,EAAE,IAAI;;;AAChB,4BAA4B;EAC1B,OAAO,EAAE,CAAC;;;AACZ,2FAA2F;EACzF,MAAM,EAAE,WAAW;EACnB,gBAAgB,EAAE,OAAmC;;;AAKrD,+DAAuD;EACrD,MAAM,EAAE,WAAW;;;AACvB,uBAAuB;EACrB,MAAM,EAAE,KAAuB;EAE/B,KAAK,EJzS+B,OAAW;EI0S/C,OAAO,EAAE,KAAK;;AACd,mCAAK;EACH,cAAc,EAAE,QAAQ;;;AAI5B,uBAAuB;EACrB,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAE,MAAM;EAChB,KAAK,EAAE,CAAC;EACR,cAAc,EAAE,MAAM;;;AAuBxB,kCAAkC;EAChC,WAAW,EAAE,MAAM;EACnB,OAAO,EAAE,GAAqB;;AAC9B,sEAAiB;EACf,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,YAAY;EACrB,SAAS,EAAE,GAAG;EACd,gBAAgB,ENjRkB,OAAmB;EMkRrD,MAAM,EAAE,cAA6B;EACrC,KAAK,EN7U6B,IAAI;;;AM+U1C,kCAAkC;EAChC,WAAW,EAAE,CAAC;;;AAChB,kCAAkC;EAChC,YAAY,EAAE,CAAC;;;AAcjB,UAAU;EACR,KAAK,EAAE,IAAuB;EAC9B,MAAM,EAAE,IAAqB;EAC7B,MAAM,EAAE,MAAwB;EAChC,QAAQ,EAAE,QAAQ;EAClB,aAAa,EAAE,GAAG;EAClB,UAAU,ENrW0B,IAAI;EMsWxC,MAAM,EAAE,OAAO;EtB5WT,kBAAoB,EAAE,oBAAM;EAK5B,eAAiB,EAAE,oBAAM;EAezB,UAAY,EAAE,oBAAM;;AsB0V1B,iBAAQ;EACN,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,EAAE;EACX,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,GAAG;EAClB,UAAU,ENhXwB,IAAI;EMiXtC,IAAI,EAAE,IAAI;EACV,GAAG,EAAE,IAAI;EtBvXL,kBAAoB,EAAE,oBAAM;EAK5B,eAAiB,EAAE,oBAAM;EAezB,UAAY,EAAE,oBAAM;;AsBqW1B,gBAAO;EACL,OAAO,EAAE,OAAO;EAChB,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,IAAqB;EAC3B,OAAO,EAAE,KAAK;EACd,SAAS,EAAE,IAAI;EACf,KAAK,ENzX6B,IAAI;;;AM0X1C,iBAAiB;EACf,UAAU,EAAE,OAAmB;;AAC/B,wBAAQ;EACN,IAAI,EN5W8B,IAAI;EM6WtC,UAAU,ENtUwB,OAAM;;AMuU1C,uBAAO;EACL,OAAO,EAAE,MAAM;;;AAEnB,+CAA+C;EAC7C,MAAM,EAAE,WAAW;;;AAiDnB,2GAAyB;EACvB,KAAK,EN7Z6B,OAAI;;AM+ZtC,22BAAqP;EACnP,MAAM,EAAE,iBAAc;;AAC1B,iDAAQ;EACN,MAAM,EAAE,iBAAc;;;AAE1B,mBAAmB;EACjB,WAAW,EAAE,MAAM;;AACnB,qCAAiB;EACf,OAAO,EAAE,aAAgB;EACzB,OAAO,EAAE,YAAY;EACrB,SAAS,EAAE,GAAG;;;AAClB,gEAAgE;EAC9D,KAAK,EN3Y+B,OAAM;;;AM8Y5C,+DAA+D;EAC7D,KAAK,EN/a+B,OAAI;;;AMkb1C,gEAAgE;EAC9D,KAAK,ENlc+B,OAAO;;;AMqc7C,6DAA6D;EAC3D,KAAK,EN9Y+B,OAAW;;;AMoZjD,UAAU;EtB3dF,iBAAoB,EAAE,aAAM;EAK5B,cAAiB,EAAE,aAAM;EAKzB,aAAgB,EAAE,aAAM;EAKxB,YAAe,EAAE,aAAM;EAKvB,SAAY,EAAE,aAAM;;;AsByc5B,WAAW;EtB7dH,iBAAoB,EAAE,cAAM;EAK5B,cAAiB,EAAE,cAAM;EAKzB,aAAgB,EAAE,cAAM;EAKxB,YAAe,EAAE,cAAM;EAKvB,SAAY,EAAE,cAAM;;;AsB2c5B,WAAW;EtB/dH,iBAAoB,EAAE,cAAM;EAK5B,cAAiB,EAAE,cAAM;EAKzB,aAAgB,EAAE,cAAM;EAKxB,YAAe,EAAE,cAAM;EAKvB,SAAY,EAAE,cAAM;;;AsB6c5B,OAAO;EtBjeC,iBAAoB,EAAE,UAAM;EAK5B,cAAiB,EAAE,UAAM;EAKzB,aAAgB,EAAE,UAAM;EAKxB,YAAe,EAAE,UAAM;EAKvB,SAAY,EAAE,UAAM;;AsB+c1B,iBAAW;EtBneL,iBAAoB,EsBoeL,wBAAwB;EtB/dvC,cAAiB,EsB+dF,wBAAwB;EtB1dvC,aAAgB,EsB0dD,wBAAwB;EtBrdvC,YAAe,EsBqdA,wBAAwB;EtBhdvC,SAAY,EsBgdG,wBAAwB;;AAC7C,kBAAY;EtBreN,iBAAoB,EsBseL,yBAAyB;EtBjexC,cAAiB,EsBieF,yBAAyB;EtB5dxC,aAAgB,EsB4dD,yBAAyB;EtBvdxC,YAAe,EsBudA,yBAAyB;EtBldxC,SAAY,EsBkdG,yBAAyB;;AAC9C,kBAAY;EtBveN,iBAAoB,EsBweL,yBAAyB;EtBnexC,cAAiB,EsBmeF,yBAAyB;EtB9dxC,aAAgB,EsB8dD,yBAAyB;EtBzdxC,YAAe,EsBydA,yBAAyB;EtBpdxC,SAAY,EsBodG,yBAAyB;;;AAEhD,yCAAyC;EAErC,8BAAqB;IACnB,MAAM,EAAE,SAAS;;EAEjB,2aAAqP;IACnP,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK;;EAClB,cAAK;IACH,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK;;;EAEhB,8YAAqO;IACnO,aAAa,EAAE,CAAC;;;EAElB,wCAAuB;IACrB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;;EACb,4BAAW;IACT,MAAM,EAAE,WAAW;;;EACvB,mEAAmE;IACjE,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,KAAuB;;;AH5ehC,oCAAsB;EQhC1B,YAAY;IAER,OAAO,EAAE,IAAI;;;;AR8Bb,oCAAsB;EQ5B1B,YAAY;IAER,OAAO,EAAE,IAAI;;;;AAEjB,WAAW;EACT,KAAK,EAAE,IAAI;;;AAEb,YAAY;EACV,KAAK,EAAE,KAAK;;;AAEd,WAAW;EACT,KAAK,EAAE,IAAI;;;AC4Cb,qEAAS;EACP,eAAe,EAAE,QAAQ;EACzB,cAAc,EAAE,CAAC;EACjB,WAAW,EAAE,IAAI;EACjB,aAAa,EZ/BuB,IAAI;;AYgCxC,6FAAO;EACL,KAAK,EAAE,IAAI;EACX,IAAI,EAAE,8BAAkB;EACxB,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,MAAM;;AACpB,8JAAM;EACJ,SAAS,EZjByB,GAAG;EYkBrC,MAAM,EAAE,CAAC;EACT,QAAQ,EAAE,OAAO;EACjB,OAAO,EZnB2B,QAAmC;;AYoBvE,sOAA8B;EAC5B,iBAAiB,EAAE,CAAC;;AACtB,uFAAK;EACH,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,IAAI;EAChB,cAAc,EAAE,MAAM;EACtB,WAAW,EAAE,MAAM;;AACnB,gGAAE;EACA,WAAW,EZnDqB,IAAI;EYoDpC,aAAa,EAAE,iBAA6B;;AAChD,8EAAE;EACA,gBAAgB,EAAE,WAAW;EAC7B,cAAc,EAAE,MAAM;;;AAE1B,oFAAc;EACZ,WAAW,EAAE,IAAuB;;AACpC,qHAAY;EACV,aAAa,EAAE,CAAC;;;AACpB,8HAA4B;EAC1B,KAAK,EAAE,EAAE;EACT,aAAa,EAAE,CAAC;;AAChB,4XAA0C;EACxC,MAAM,EAAE,CAAC;;;AAEb,mBAAmB;EACjB,KAAK,EZxD+B,IAAwB;EYyD5D,SAAS,EAAE,GAAG;;;AAChB,kBAAkB;EAChB,KAAK,EZ3D+B,IAAwB;EY4D5D,SAAS,EAAE,GAAG;;;AAIhB,6HAAyD;EACvD,gBAAgB,EZpCoB,OAAmB;;;AYsCzD,gBAAgB;EACd,gBAAgB,EZvCoB,OAAmB;;;;AY4CzD,mDAAsB;EACpB,MAAM,EAAE,iBAA6B;;AACrC,yDAAE;EACA,aAAa,EAAE,iBAA6B;EAC5C,WAAW,EAAE,iBAA6B;;AAC5C,qGAAwB;EACtB,mBAAmB,EAAE,CAAC;;;AAE1B,kBAAkB;EAChB,MAAM,EAAE,iBAA6B;;;AAGrC,0BAAE;EACA,aAAa,EAAE,iBAA6B;;AAC9C,gDAAwB;EACtB,mBAAmB,EAAE,CAAC;;;AAGxB,6CAAwB;EACtB,mBAAmB,EAAE,CAAC;;AACxB,gDAAM;EACJ,YAAY,EAAE,SAAS;EACvB,aAAa,EAAE,iBAA6B;;AAC9C,6CAAwB;EACtB,mBAAmB,EAAE,CAAC;;;;AAG1B,oBAAoB;EAClB,aAAa,EZhHuB,IAAI;EYiHxC,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,IAAI;;AACd,0BAAK;EACH,aAAa,EAAE,YAAY;;AAC3B,4DAAM;EACJ,WAAW,EAAE,MAAM;;;ACzIzB,CAAC;EACC,KAAK,EbkE+B,OAAW;EajE/C,eAAe,EAAE,IAAI;EACrB,MAAM,EAAE,OAAO;;AACf,OAAO;EACL,KAAK,EbgD6B,OAAwB;;Aa/C5D,SAAS;EACP,KAAK,Eb6C6B,OAAO;;;AanB7C,IAAI;EACF,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,MAAM;;;AAEpB,IAAI;EACF,WAAW,EX3CyB,2DAAM;EW4C1C,WAAW,EAAE,MAAM;EACnB,KAAK,EX/C+B,OAAW;EWgD/C,UAAU,EAAE,IAAI;EAChB,UAAU,EAAE,MAAM;EAClB,UAAU,EbnD0B,OAAO;;;AaqD7C,aAAa;EACX,UAAU,EAAE,IAAI;;;AAElB,eAAe;EACb,UAAU,EAAE,MAAM;;;AAEpB,cAAc;EACZ,UAAU,EAAE,KAAK;;;AAEnB,cAAc;EACZ,SAAS,EAAE,IAAI;;;AAEjB,eAAe;EACb,SAAS,EAAE,IAAI;;;AAEjB,qBAAqB;EACnB,SAAS,EAAE,GAAG;;;AAEhB,eAAe;EACb,eAAe,EAAE,YAAY;;;AAE/B,gBAAgB;EACd,KAAK,EAAE,kBAAkB;;;AAC3B,uBAAuB;EACrB,KAAK,EAAE,kBAAgC;;;AACzC,aAAa;EACX,KAAK,EAAE,kBAAgB;;;AACzB,oBAAoB;EAClB,KAAK,EAAE,kBAA8B;;;AACvC,gBAAgB;EACd,KAAK,EAAE,kBAAiB;;;AAC1B,uBAAuB;EACrB,KAAK,EAAE,kBAA+B;;;AACxC,eAAe;EACb,KAAK,EAAE,kBAAe;;;AACxB,sBAAsB;EACpB,KAAK,EAAE,kBAA6B;;;AACtC,gBAAgB;EACd,KAAK,EAAE,kBAAsB;;;AAC/B,uBAAuB;EACrB,KAAK,EAAE,kBAAoC;;;AAkB7C,uEAAyB;EACvB,UAAU,EAAE,CAAC;EACb,WAAW,EAAE,GAAG;EAChB,WAAW,EX9GyB,8DAAa;;;AWgHnD,CAAC;EACC,WAAW,Eb1FyB,IAAI;Ea2FxC,MAAM,EAAE,CAAC;EACT,SAAS,Eb/F2B,IAAI;EagGxC,aAAa,Eb7FuB,IAAI;;;Aa+F1C,EAAE;EACA,SAAS,EAAE,IAAI;;;AAEjB,2CAAE;EACA,SAAS,EAAE,IAAI;;;AAEjB,EAAE;EACA,SAAS,EAAE,IAAI;;;AAEjB,EAAE;EACA,SAAS,EAAE,IAAI;;;AAEjB,EAAE;EACA,SAAS,EAAE,IAAI;;;AAEjB,EAAE;EACA,SAAS,EAAE,IAAI;;;AAEjB,EAAE;EACA,OAAO,EAAE,KAAK;EACd,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,CAAC;EACT,UAAU,EAAE,iBAA6B;EACzC,MAAM,EAAE,MAAmB;EAC3B,OAAO,EAAE,CAAC;;;AAEZ,wCAAI;EACF,WAAW,EAAE,MAAM;EACnB,SAAS,EAAE,IAAI;EACf,UAAU,EblG0B,IAAM;EamG1C,MAAM,EAAE,iBAAiC;EACzC,SAAS,EAAE,GAAG;EACd,OAAO,EAAE,KAAK;EACd,WAAW,EXrJyB,oNAAQ;EWsJ5C,KAAK,Eb1H+B,OAAI;Ea2HxC,UAAU,EAAE,IAAI;;AAChB,2CAAY;EACV,SAAS,EAAE,GAAG;;;AAmClB,2FAAmB;EACjB,UAAU,EAAE,IAAI;EAChB,WAAW,EbzKyB,IAAI;Ea0KxC,aAAa,Eb1KuB,IAAI;;Aa2KxC,uGAAE;EACA,UAAU,EAAE,IAAI;EAChB,WAAW,Eb7KuB,IAAI;;Aa8KtC,2JAAY;EACV,aAAa,EAAE,CAAC;;AAClB,mHAAE;EACA,aAAa,EAAE,CAAC;;AAClB,mHAAE;EACA,UAAU,EAAE,MAAM;;AAClB,+HAAE;EACA,UAAU,EAAE,MAAM;;AACtB,+HAAK;EACH,UAAU,EAAE,OAAO;;;AAEzB,oFAAsB;EACpB,UAAU,EAAE,OAAO;EACnB,WAAW,Eb3LyB,IAAI;Ea4LxC,aAAa,Eb5LuB,IAAI;;Aa6LxC,gGAAE;EACA,UAAU,EAAE,OAAO;EACnB,WAAW,Eb/LuB,IAAI;;AagMtC,oJAAY;EACV,aAAa,EAAE,CAAC;;AAClB,4GAAE;EACA,aAAa,EAAE,CAAC;;AAChB,wHAAE;EACA,UAAU,EAAE,IAAI;;;ACrOxB,kBAAkB;EAChB,MAAM,EAAE,iBAA6B;EACrC,aAAa,EAAE,IAAI;EACnB,OAAO,Ed6B6B,IAAI;Ec5BxC,WAAW,EAAE,IAAqB;EAClC,WAAW,EAAE,GAAG;EAChB,UAAU,EdoD0B,IAAM;EcnD1C,QAAQ,EAAE,QAAQ;;AAClB,wBAAO;EACL,OAAO,EAAE,SAAS;EAClB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,GAAG;EACR,IAAI,EAAE,GAAG;EACT,UAAU,EdoDwB,OAAO;EcnDzC,KAAK,EAAE,KAAoB;EAC3B,OAAO,EAAE,QAA2C;;AACtD,2CAA0B;EACxB,MAAM,EAAE,iBAA6B;EACrC,aAAa,EdcqB,IAAI;;;AcZ1C,mHAAmC;EACjC,MAAM,EAAE,iBAA6B;EACrC,OAAO,EAAE,GAAG;EACZ,UAAU,EAAE,IAAI;EAChB,UAAU,EdkC0B,IAAM;EchC1C,MAAM,EAAE,YAAyB;;AACjC,mLAAuB;EACrB,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,CAAC;;;AAEb,+BAA+B;EAC7B,KAAK,EAAE,IAAI;;;AACb,cAAc;EACZ,YAAY,EAAE,iBAA0C;EACxD,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,SAA2C;EACpD,WAAW,EZ3ByB,oNAAQ;EY4B5C,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,KAAK,EdI+B,OAAwB;;;AcH9D,2BAA2B;EACzB,WAAW,EAAE,GAAG;EAChB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,SAA2C;EACpD,WAAW,EZnCyB,oNAAQ;EYoC5C,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,KAAK;EACd,QAAQ,EAAE,IAAI;EACd,KAAK,EZ7C+B,OAAW;;;AYiDjD,YAAY;EACV,gJAAgE;IAC9D,WAAW,EAAE,QAAQ;;;ACzDzB,IAAI;EACF,gBAAgB,EAAE,OAAO;EACzB,MAAM,EAAE,OAAO;EACf,OAAO,EAAE,MAAM;EACf,OAAO,EAAE,KAAK;;;AAChB,EAAE;EACA,KAAK,EAAE,OAAO;EACd,UAAU,EAAE,MAAM;;;AACpB,IAAI;EACF,KAAK,EAAE,OAAO;EACd,gBAAgB,EAAE,OAAO;;;AAC3B,EAAE;EACA,WAAW,EAAE,IAAI;;;AACnB,EAAE;EACA,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,KAAK,EAAE,OAAO;EACd,UAAU,EAAE,MAAM;;;AACpB,GAAG;EACD,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,KAAK,EAAE,OAAO;EACd,UAAU,EAAE,MAAM;;;AACpB,GAAG;EACD,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,MAAM;;;AACpB,GAAG;EACD,KAAK,EAAE,OAAO;EACd,gBAAgB,EAAE,OAAO;;;AAC3B,MAAM;EACJ,KAAK,EAAE,OAAO;EACd,gBAAgB,EAAE,OAAO;;;AAC3B,GAAG;EACD,UAAU,EAAE,MAAM;;;AACpB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;EACd,gBAAgB,EAAE,OAAO;;;AAC3B,MAAM;EACJ,KAAK,EAAE,OAAO;EACd,gBAAgB,EAAE,OAAO;;;AAC3B,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,IAAI;;;AACnB,EAAE;EACA,KAAK,EAAE,OAAO;;;AAChB,EAAE;EACA,KAAK,EAAE,OAAO;;;AAChB,EAAE;EACA,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,IAAI;;;AACb,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,KAAK,EAAE,IAAI;;;AACb,GAAG;EACD,KAAK,EAAE,MAAM;;;AACf,GAAG;EACD,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,IAAI;;;AACnB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,IAAI;;;AACb,GAAG;EACD,KAAK,EAAE,IAAI;;;AACb,GAAG;EACD,WAAW,EAAE,IAAI;;;AACnB,EAAE;EACA,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,IAAI;;;AACb,GAAG;EACD,KAAK,EAAE,IAAI;;;AACb,GAAG;EACD,KAAK,EAAE,IAAI;;;AACb,GAAG;EACD,KAAK,EAAE,OAAO;;;AAChB,GAAG;EACD,KAAK,EAAE,IAAI;EACX,gBAAgB,EAAE,OAAO;;;ACjJ3B,kBAAkB;EAChB,OAAO,EAAE,YAAY;;AACrB,uCAAsB;EACpB,KAAK,EAAE,KAAK;;AACd,oBAAC;EACC,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,GAAG;;AACZ,gCAAa;EACX,YAAY,EAAE,CAAC;;AACnB,+FAAI;EACF,OAAO,EAAE,GAAG;EACZ,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,IAAI;;AAChB,uHAAS;EACP,KAAK,EdR2B,OAAW;;;AcSjD,qBAAqB;EACnB,aAAa,EAAE,CAAC;EAChB,KAAK,EhB2B+B,OAAwB;EgB1B5D,SAAS,EAAE,GAAG;EACd,OAAO,EAAE,YAAY;;;AbanB,oCAAsB;EaTxB,qBAAqB;IACnB,OAAO,EAAE,IAAI;;;EACf,uCAAuC;IACrC,OAAO,EAAE,IAAI;;;AAEjB,YAAY;EACV,uCAAuC;IACrC,OAAO,EAAE,IAAI;;;AC9BjB,SAAS;EACP,QAAQ,EAAE,KAAK;EACf,GAAG,ECAO,OAAO;;;ADGjB,gBAAO;EACL,eAAe,EAAE,IAAI;;;AAEzB,cAAc;E/B+FZ,KAAK,EAAE,CAAC;;AACR,2CAAS;EAEP,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;;AACb,oBAAO;EACL,KAAK,EAAE,IAAI;;A+BnGb,oCAAM;EACJ,OAAO,EAAE,YAAY;;AACvB,uBAAQ;EACN,UAAU,EAAE,wBAAoB;;AAEhC,6BAAa;EACX,WAAW,EAAE,iBAAyB;;AACxC,8BAAc;EACZ,YAAY,EAAE,iBAAyB;;AAC3C,gBAAC;EACC,MAAM,EAAE,IAAmB;EAC3B,OAAO,EAAE,YAAY;EACrB,WAAW,EAAE,IAAmB;EAChC,OAAO,EAAE,MAAiB;;;AAG5B,qDAAiB;EACf,MAAM,EAAE,IAAmB;EAC3B,OAAO,EAAE,YAAY;EACrB,WAAW,EAAE,IAAmB;EAChC,OAAO,EAAE,SAAS;EAClB,aAAa,EAAE,CAAC;EAChB,OAAO,EAAE,KAAK;EACd,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,SAAS;EACzB,SAAS,EAAE,GAAG;EACd,KAAK,EjBvB6B,IAAI;EiBwBtC,WAAW,EAAE,MAAM;;AAErB,oBAAE;EACA,aAAa,EAAE,CAAC;;AAEhB,+BAAY;EACV,UAAU,EAAE,iBAAyB;;AACvC,kCAAe;EACb,aAAa,EAAE,iBAAyB;;AAC1C,4BAAS;EACP,UAAU,EAAE,OAAsC;;AAClD,8BAAC;EACC,KAAK,EjBNyB,IAAwB;EiBOtD,YAAY,EAAE,iBAAgD;EAC9D,OAAO,EAAE,gBAAyB;;AAClC,oCAAO;EACL,UAAU,EAAE,OAAsC;;AACxD,qGAAI;EACF,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,OAAO;EACd,YAAY,EAAE,CAAC;EACf,aAAa,EAAE,CAAC;;AAElB,wCAAmB;EACjB,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,MAAM;EAGnB,SAAS,EAAE,KAAI;EACf,WAAW,EAAE,KAAK;EAClB,KAAK,EAAE,OAAyB;;AAGpC,2DAAuB;EACrB,KAAK,EfnE6B,OAAW;EeoE7C,OAAO,EAAE,gBAAmB;EAC5B,WAAW,EAAE,IAAI;EACjB,QAAQ,EAAE,QAAQ;EAClB,UAAU,EjBtEwB,OAAyB;EiBuE3D,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,iBAAgD;EAC/D,UAAU,EAAE,iBAAgD;EAC5D,YAAY,EAAE,YAAY;;AAE1B,uEAAO;EACL,UAAU,EjB7EsB,OAAyB;;AiB8EzD,+GAAmB;EACjB,KAAK,EjB3CyB,IAAwB;;AiB4C1D,mGAAmB;EAGjB,OAAO,EAAE,KAAK;EACd,SAAS,EAAE,KAAI;EACf,WAAW,EAAE,KAAK;EAClB,KAAK,EAAE,OAAyB;;AAIlC,sHAAI;EACF,OAAO,EAAE,IAAI;;AACf,sIAAc;EACZ,OAAO,EAAE,KAAK;;AAGd,2CAAG;EACD,UAAU,EAAE,OAAsC;EAClD,OAAO,EAAE,gBAAyB;;AACpC,yDAAiB;EACf,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,OAAsC;EAClD,OAAO,EAAE,gBAAyB;;AACtC,2DAA2B;EACzB,KAAK,EjBpE2B,IAAwB;;AiBqE1D,mDAAmB;EACjB,KAAK,EAAE,OAAsC;;AACjD,+BAAa;EACX,SAAS,EAAE,KAAI;;AAEb,2CAAG;EACD,UAAU,EAAE,OAAsC;EAClD,OAAO,EAAE,gBAAyB;;AACpC,yDAAiB;EACf,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,OAAsC;EAClD,OAAO,EAAE,gBAAyB;EAClC,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,IAAI;;AACvB,2DAA2B;EACzB,KAAK,EjBpF2B,IAAwB;;AiBqF1D,mDAAmB;EACjB,KAAK,EAAE,OAAsC;;AACjD,+BAAa;EACX,SAAS,EAAE,KAAI;;AAEjB,+BAAa;EACX,OAAO,EAAE,KAAK;;AAChB,uBAAK;EACH,aAAa,EAAE,CAAC;EAChB,OAAO,EAAE,IAAI;;AAEb,kCAAK;EACH,OAAO,EAAE,KAAK;;AAClB,4BAAU;EACR,aAAa,EAAE,CAAC;EAChB,KAAK,EjBnG6B,OAAwB;EiBoG1D,WAAW,EAAE,MAAM;;AACrB,mBAAC;EACC,OAAO,EAAE,YAAY;EACrB,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,gBAAmB;EAC5B,OAAO,EAAE,KAAK;EACd,QAAQ,EAAE,QAAQ;EAClB,SAAS,EAAE,GAAG;EACd,KAAK,EjB5G6B,OAAwB;;AiB6G1D,yBAAO;EACL,gBAAgB,EAAE,OAAoC;EACtD,MAAM,EAAE,OAAO;;AACf,6CAAmB;EACjB,KAAK,EjBjHyB,OAAwB;;AiBkH1D,0BAAQ;EACN,gBAAgB,EjB/EgB,OAAW;EiBgF3C,MAAM,EAAE,OAAO;EACf,KAAK,EjBvG2B,IAAM;;AiBwGtC,8CAAmB;EACjB,KAAK,EjBzGyB,IAAM;;;AiB2G5C,mBAAmB;EACjB,OAAO,EjBhF6B,GAAG;EiBiFvC,gBAAgB,EjBvFoB,OAAW;EiBwF/C,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,OAAW;EACpB,OAAO,EAAE,KAAK;EACd,KAAK,EjBpK+B,OAAyB;EiBqK7D,aAAa,EAAE,OAAW;;AAC1B,oCAAgB;EACd,KAAK,EAAE,IAAI;EACX,aAAa,EAAE,IAAI;EACnB,OAAO,EAAE,QAAQ;EACjB,YAAY,EAAE,OAAuB;;AACvC,uBAAG;EACD,OAAO,EAAE,KAAK;EACd,MAAM,EAAE,sBAA0B;EAClC,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,gBAAgB,EjBvGkB,OAAW;EiBwG7C,OAAO,EAAE,GAAG;EACZ,aAAa,EAAE,IAAI;;AACrB,6DAAqB;EACnB,KAAK,EjBpL6B,OAAyB;EiBqL3D,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,OAA2C;EACpD,aAAa,EAAE,OAAW;;AAE1B,yEAAO;EACL,UAAU,EAAE,wBAAoB;;AAClC,+EAAQ;EACN,OAAO,EAAE,KAAK;EACd,MAAM,EAAE,MAAM;EACd,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,aAAa,EAAE,CAAC;EAChB,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,WAAa;;AAEzB,yFAAQ;EACN,UAAU,EAAE,MAAM;;AACxB,iCAAa;EACX,UAAU,EAAE,SAAkB;EAC9B,aAAa,EAAE,OAAW;EAC1B,WAAW,EAAE,MAAM;EACnB,KAAK,EAAE,wBAAoB;;;AAI7B,gCAAM;EACJ,KAAK,EjBxI6B,OAAW;;AiByI/C,2BAAC;EACC,KAAK,EjB9K6B,OAAwB;;AiB+K1D,iCAAO;EACL,gBAAgB,EjB5IgB,OAAW;EiB6I3C,KAAK,EjBnK2B,IAAM;;;AiBqK5C,gBAAgB;EjCtNR,kBAAoB,EAAE,gBAAM;EAK5B,eAAiB,EAAE,gBAAM;EAezB,UAAY,EAAE,gBAAM;EiCoM1B,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,CAAC;EACV,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,CAAC;;AACV,4BAAa;EACX,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,CAAC;;AACZ,0BAAW;EACT,KAAK,EAAE,IAAI;EACX,IAAI,EAAE,KAAK;EACX,OAAO,EAAE,CAAC;;AACZ,2BAAY;EACV,KAAK,EAAE,KAAK;EACZ,IAAI,EAAE,IAAI;EACV,OAAO,EAAE,CAAC;;;AAGd,gBAAgB;EACd,UAAU,EAAE,qBAAuC;EACnD,gBAAgB,EAAE,2uCAA2uC;EAC7vC,eAAe,EAAE,SAAsB;;;AAEzC,gBAAgB;EACd,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;;;AAEd,YAAY;EACV,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,CAAC;EACN,MAAM,EAAE,CAAC;EACT,IAAI,EAAE,CAAC;EACP,cAAc,EAAE,GAAG;EACnB,KAAK,EjBlL+B,KAAK;EiBmLzC,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,IAAI;EAChB,UAAU,EjBxLsB,OAAe;EiByL/C,OAAO,EjBlL6B,GAAG;;;AiBoLzC,WAAW;EACT,OAAO,EAAE,IAAI;EACb,UAAU,EjB5L0B,OAAW;EiB6L/C,KAAK,EjBnN+B,IAAM;EiBoN1C,OAAO,EAAE,gBAAuB;EAChC,QAAQ,EAAE,QAAQ;EAClB,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,MAAM;EAClB,SAAS,EAAE,IAAI;E/B3Kf,KAAK,EAAE,CAAC;;AACR,qCAAS;EAEP,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;;AACb,iBAAO;EACL,KAAK,EAAE,IAAI;;A+BuKb,aAAC;EACC,KAAK,EjB3N6B,IAAM;EiB4NxC,WAAW,EAAE,IAAI;;AAEnB,eAAG;EACD,YAAY,EAAE,IAAqB;EACnC,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,gBAAgB,EjB5MkB,OAAW;EiB6M7C,OAAO,EAAE,GAAG;EACZ,aAAa,EAAE,IAAI;;AACrB,aAAC;EACC,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,OAAO;;;AAEnB,oBAAoB;EAClB,WAAW,EjBpNyB,KAAK;EiBqNzC,UAAU,EjB/R0B,OAAyB;EiBgS7D,UAAU,EAAE,IAAI;;;AAElB,eAAe;EACb,OAAO,EAAE,eAAmB;EAC5B,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,IAAI;;;AAEd,aAAa;EACX,QAAQ,EAAE,KAAK;EACf,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,kBAAc;EAC1B,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,GAAkB;;AAC3B,gBAAI;EACF,OAAO,EAAE,KAAK;;;AAClB,MAAM;EACJ,KAAK,EjB1S+B,IAAI;;AiB2SxC,QAAC;EACC,aAAa,EAAE,IAAqB;;AACtC,+FAAgB;EACd,OAAO,EAAE,GAAG;EACZ,WAAW,EflTuB,oNAAQ;EemT1C,SAAS,EAAE,GAAG;EACd,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,IAAI;EACZ,KAAK,EjBnT6B,IAAI;;;AiBqT1C,mBAAmB;E/B5NjB,KAAK,EAAE,CAAC;;AACR,qDAAS;EAEP,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;;AACb,yBAAO;EACL,KAAK,EAAE,IAAI;;;A+B0Nb,0BAAU;EACR,aAAa,EjBxSqB,IAAI;EiByStC,aAAa,EAAE,iBAA6B;EAC5C,cAAc,EjB1SoB,IAAI;;AiB2SxC,sCAAsB;EACpB,UAAU,EAAE,iBAA6B;EACzC,WAAW,EjB7SuB,IAAI;;AiB8SxC,4BAAY;EACV,SAAS,EAAE,IAAI;EACf,aAAa,EAAE,IAAqB;EACpC,OAAO,EAAE,YAAY;;AACvB,wBAAQ;EACN,KAAK,EjBxS6B,IAAwB;EiByS1D,SAAS,EAAE,GAAG;;;AdpTd,oCAAsB;EcwTxB,gBAAgB;IACd,UAAU,EjBlVwB,OAAyB;;;EiBmV7D,WAAW;IACT,OAAO,EAAE,KAAK;;;EAChB,YAAY;IAER,IAAI,EAAE,MAAmB;;EAG3B,kBAAO;IACL,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,CAAC;;;EACX,oBAAoB;IAClB,WAAW,EAAE,CAAC;;EACd,oCAAe;IACb,OAAO,ECrWD,OAAO;;EDsWf,0BAAO;IACL,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,MAAM;;;Ad9UlB,qCAAsB;EciVxB,oBAAoB;IAClB,UAAU,EAAE,mBAAe;;;EAC7B,eAAe;IACb,MAAM,EAAE,CAAC;IACT,UAAU,EjB9WwB,OAAyB;;;AiBgX/D,YAAY;EACV,mCAAmC;IACjC,OAAO,EAAE,IAAI;;;EACf,oBAAoB;IAClB,WAAW,EAAE,CAAC;;;AE3XlB,aAAa;EACX,QAAQ,EAAE,KAAK;EACf,MAAM,EAAE,CAAC;EACT,IAAI,EAAE,CAAC;EACP,KAAK,EnB6E+B,KAAK;EmB5EzC,KAAK,EnBE+B,OAAyB;EmBD7D,UAAU,EAAE,OAAkC;EAC9C,UAAU,EAAE,kBAAiC;EAC7C,WAAW,EjBAyB,2DAAM;EiBC1C,OAAO,EnB+E6B,GAAG;;AmB9EvC,eAAC;EACC,KAAK,EnBqE6B,OAAW;EmBpE7C,eAAe,EAAE,IAAI;;AACvB,8BAAgB;EACd,OAAO,EAAE,IAAI;;AACf,kCAAoB;EAClB,OAAO,EAAE,IAAqB;EAC9B,gBAAgB,EAAE,OAAkC;EACpD,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,KAAK;EACjB,SAAS,EAAE,GAAG;EACd,MAAM,EAAE,OAAO;EACf,KAAK,EnBiD6B,OAAM;EdgC1C,KAAK,EAAE,CAAC;;AACR,mFAAS;EAEP,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;;AACb,wCAAO;EACL,KAAK,EAAE,IAAI;;AiCrFX,gsDAAG;EACD,KAAK,EnBlB2B,OAAyB;;AmBmB3D,0FAAQ;EACN,KAAK,EAAE,IAAI;;AACb,6CAAU;EACR,KAAK,EAAE,IAAI;;AACb,kDAAiB;EACf,gBAAgB,EnBQgB,OAAI;EmBPpC,KAAK,EnB0B2B,IAAM;;AmBzBxC,yDAAwB;EACtB,gBAAgB,EnBXgB,OAAO;EmBYvC,KAAK,EnBzB2B,IAAI;;AmB0BxC,0CAA8B;EAC5B,OAAO,EAAE,KAAK;;AAChB,iCAAmB;EACjB,SAAS,EAAE,GAAG;EACd,OAAO,EAAE,IAAqB;EAC9B,KAAK,EnBE6B,IAAwB;EmBD1D,OAAO,EAAE,IAAI;;AACb,oCAAE;EACA,OAAO,EAAE,KAAK;EACd,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,MAAM;EACd,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,iBAA6C;;AAC3D,oCAAE;EACA,OAAO,EAAE,YAAY;EACrB,MAAM,EAAE,CAAC;;AACT,sCAAC;EACC,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,GAAqB;EAC9B,KAAK,EnBjDyB,OAAyB;;AmBkD7D,uBAAW;EACT,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,IAAI,EAAE,IAAI;EACV,MAAM,EAAE,IAAI;EACZ,SAAS,EnBkByB,KAAK;;AmBjBvC,kCAAU;EACR,KAAK,EAAE,IAAI;;AACb,oEAAQ;EACN,KAAK,EAAE,IAAI;;AACb,qDAA+B;EAC7B,UAAU,EAAE,KAAK;;AACjB,gIAAQ;EACN,KAAK,EAAE,IAAI;;AACb,gEAAU;EACR,KAAK,EAAE,IAAI;;AACf,4CAAoB;EAClB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,KAAuB;EAChC,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,MAAM;;;AhBhDpB,oCAAsB;EgBmDxB,aAAa;IACX,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,IAAI;;EACb,mBAAO;IACL,OAAO,EAAE,KAAK;;;EAClB,GAAG;IACD,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;;;ACzEd,gBAAG;EACD,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,eAAe;;AAEzB,uBAAU;EACR,aAAa,EpBUqB,IAAI;;AoBTtC,iCAAS;EACP,UAAU,EAAE,MAAM;;AAEtB,oCAAuB;EACrB,UAAU,EAAE,MAAM;;AAGpB,4DAAoC;EAClC,aAAa,EpBCqB,IAAI;;AoBUxC,uBAAU;EACR,WAAW,EpBXuB,IAAI;EoBYtC,WAAW,EpBZuB,IAAI;EoBatC,aAAa,EpBbqB,IAAI;;AoBmBtC,4TAAK;EACH,aAAa,EAAE,CAAC;;AAKlB,qCAAQ;EACN,YAAY,EAAE,GAAG;;AAUrB,8BAAiB;EACf,YAAY,EAAE,kBAAc;;AAC5B,oEAAM;EACJ,UAAU,EAAE,sBAAsB;EAClC,YAAY,EAAE,6BAAyB;;AAG3C,2EAAiD;EAC/C,UAAU,EAAE,WAAW;;AACzB,2EAAiD;EAC/C,UAAU,EAAE,WAAW;;AAGzB,sDAA4B;EAC1B,aAAa,EAAE,IAAqB;;AACtC,wBAAW;EACT,WAAW,EpBpDuB,IAAI;;AoBuDxC,yBAAY;EACV,WAAW,EAAE,IAAI;EACjB,aAAa,EAAE,IAAqB;;AACtC,yBAAY;EACV,KAAK,ElBrF6B,OAAW;;AkBsF/C,yBAAY;EACV,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,iBAA2C;;AACrD,wBAAW;EACT,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,iBAA2C;;AACrD,0BAAa;EACX,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,KAAK;;AAMd,qSAAW;EACT,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,MAAM;EAClB,SAAS,EAAE,IAAI;;AAEf,2VAAO;EACL,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,GAAO;EAChB,WAAW,EAAE,WAAW;EACxB,OAAO,EAAE,YAAY;;AACzB,2VAAmB;EACjB,OAAO,EAAE,YAAY;;AAGzB,qBAAQ;EACN,KAAK,EAAE,KAAK;EACZ,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,KAAK;EACd,MAAM,EAAE,aAAuC;EAC/C,OAAO,EpB7F2B,IAAI;EoB8FtC,UAAU,EpBtDwB,OAAmB;EoBuDrD,MAAM,EAAE,iBAA6B;;AAErC,2EAAS;EACP,SAAS,EAAE,GAAG;;AAChB,2BAAK;EACH,aAAa,EAAE,CAAC;;AAClB,oCAAc;EACZ,OAAO,EAAE,KAAK;EACd,WAAW,ElB9HqB,8DAAa;EkB+H7C,WAAW,EAAE,IAAI;EACjB,UAAU,EpBrFsB,OAAmB;EoBsFnD,OAAO,EAAE,QAA2C;EACpD,MAAM,EAAE,KAAkB;EAC1B,aAAa,EpB5GmB,IAAI;EoB6GpC,SAAS,EAAE,IAAI;;AAEnB,yBAAY;EACV,UAAU,EpBzHwB,OAAO;EoB0HzC,OAAO,EAAE,YAAY;EACrB,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,KAAuB;;AAGlC,kEAAwC;EACtC,cAAc,EAAE,KAAK;EACrB,SAAS,EAAE,GAAG;;AAIhB,0EAAgD;EAC9C,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,IAAI;EACZ,KAAK,EpBjJ6B,IAAI;;AoBkJtC,kKAAM;EACJ,MAAM,EAAE,IAAI;EACZ,gBAAgB,EAAE,sBAAsB;EACxC,WAAW,EAAE,MAAM;;AACrB,4FAAQ;EACN,YAAY,EAAE,CAAC;EACf,aAAa,EAAE,CAAC;EAChB,cAAc,EAAE,GAAG;;AACrB,sKAAI;EACF,KAAK,EpB5J2B,IAAI;;AoBmKxC,6BAAgB;EAEd,MAAM,EAAE,IAAI;;AACZ,gCAAE;EACA,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,GAAG;;AAClB,yCAAW;EACT,OAAO,EAAE,YAAY;EACrB,UAAU,EAAE,GAAG;;AACjB,yCAAW;EACT,aAAa,EAAE,IAAI;EACnB,UAAU,EAAE,IAAI;EAChB,WAAW,EAAE,MAAM;;AACrB,yCAAW;EACT,UAAU,EAAE,IAAI;EAChB,YAAY,EAAE,CAAC;;AAGnB,mDAAQ;EAEN,KAAK,EpB1L6B,IAAI;;AoB2LtC,6HAAO;EACL,SAAS,EAAE,eAAe;EAC1B,WAAW,EAAE,MAAM;;AAErB,2EAAS;EACP,KAAK,EpBnK2B,OAAI;;AoBoKtC,6HAAW;EACT,WAAW,EAAE,IAAI;EACjB,KAAK,ElBvM2B,OAAW;;AkByM/C,yDAAY;EACV,KAAK,EpBhI6B,OAAW;;AoBiI/C,eAAE;EACA,aAAa,EpBlLqB,IAAI;;AoBmLtC,kBAAE;EACA,WAAW,EAAE,IAAI;;AAEnB,gFAAgB;EACd,aAAa,EAAE,eAAgC;;AAEjD,kBAAE;EACA,MAAM,EAAE,aAA4C;;AAMxD,8BAAiB;EACf,aAAa,EpBjMqB,IAAI;;AoBmMtC,iCAAE;EACA,OAAO,EAAE,YAAY;EACrB,MAAM,EAAE,KAAuB;EAC/B,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,MAAM;EACnB,UAAU,EAAE,OAAmB;EAC/B,KAAK,EpBzJ2B,OAAW;EoB0J3C,UAAU,EAAE,iBAA6B;EACzC,OAAO,EAAE,GAAqB;EAC9B,QAAQ,EAAE,QAAQ;;AAClB,wCAAQ;EACN,KAAK,EAAE,OAAmB;;AAC5B,6CAAW;EACT,KAAK,ElB1OyB,OAAW;EkB2OzC,SAAS,EAAE,eAAe;;AAE9B,oCAAK;EACH,aAAa,EAAE,GAAqB;EACpC,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,iBAAuB;EACpC,UAAU,EAAE,OAAa;EACzB,KAAK,EpB7M2B,IAAwB;;AoB8MxD,gDAAW;EACT,KAAK,ElBpPyB,OAAW;EkBqPzC,SAAS,EAAE,eAAe;;AAC9B,6CAAc;EACZ,UAAU,EAAE,CAAC;;AAEf,yGAAQ;EACN,WAAW,EAAE,IAAI;;AACjB,yRAA2B;EACzB,gBAAgB,EAAE,WAAW;EAC7B,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,CAAC;EACV,SAAS,EAAE,eAAe;;AAC5B,oIAAU;EACR,WAAW,EAAE,IAAI;;AAErB,wCAAS;EACP,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,KAAK;EACd,KAAK,EpBlQ2B,IAAI;EoBmQpC,WAAW,EAAE,IAAI;;AACnB,wCAAS;EACP,OAAO,EAAE,YAAY;EACrB,aAAa,EAAE,GAAG;;AAEtB,wDAA8B;EAC5B,OAAO,EAAE,YAAY;EACrB,KAAK,EpB7M6B,OAAM;EoB8MxC,SAAS,EAAE,GAAG;EACd,YAAY,EpBtPsB,IAAI;;AoBuPxC,2BAAc;EACZ,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,KAAK;;AACd,qBAAQ;EACN,aAAa,EAAE,IAAI;EACnB,WAAW,EAAE,IAAI;;AAEnB,oDAAa;EACX,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,OAAO;EAChB,WAAW,EAAE,OAAO;EACpB,SAAS,EAAE,OAAO;EAClB,KAAK,EAAE,OAAO;EACd,MAAM,EAAE,OAAO;EACf,WAAW,EAAE,OAAO;;AAIlB,oGAAQ;EACN,YAAY,EAAE,GAAG;;;AjB1QrB,oCAAsB;EiB+QtB,qBAAQ;IACN,KAAK,EAAE,IAAI;;;AChTjB,wBAAwB;EACtB,KAAK,EnBK+B,OAAW;;;AmBHjD,KAAK;EACH,UAAU,EAAE,MAAM;;;;ECHlB,WAAW,EAAE,aAAa;EAC1B,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,GAAG;EAChB,GAAG,EAAE,sEAAoB;;;EAGzB,WAAW,EAAE,aAAa;EAC1B,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,GAAG;EAChB,GAAG,EAAE,2GAAyB;;;EAG9B,WAAW,EAAE,MAAM;EACnB,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,GAAG;EAChB,GAAG,EAAE,+FAAqB;;;EAG1B,WAAW,EAAE,MAAM;EACnB,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,GAAG;EAChB,GAAG,EAAE,sFAAkB;;;EAGvB,WAAW,EAAE,aAAa;EAC1B,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,GAAG;EAChB,GAAG,EAAE,kHAA4B;;;EAGjC,WAAW,EAAE,aAAa;EAC1B,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,GAAG;EAChB,GAAG,EAAE,yGAAyB", -"sources": ["../../../bower_components/neat/app/assets/stylesheets/grid/_grid.scss","../../../bower_components/bourbon/dist/addons/_prefixer.scss","../../../bower_components/wyrm/sass/wyrm_core/_reset.sass","../../../bower_components/wyrm/sass/wyrm_core/_mixin.sass","../../../bower_components/font-awesome/scss/_path.scss","../../../bower_components/font-awesome/scss/_core.scss","../../../bower_components/font-awesome/scss/_larger.scss","../../../bower_components/font-awesome/scss/_fixed-width.scss","../../../bower_components/font-awesome/scss/_list.scss","../../../bower_components/font-awesome/scss/_variables.scss","../../../bower_components/font-awesome/scss/_bordered-pulled.scss","../../../bower_components/font-awesome/scss/_spinning.scss","../../../bower_components/font-awesome/scss/_rotated-flipped.scss","../../../bower_components/font-awesome/scss/_mixins.scss","../../../bower_components/font-awesome/scss/_stacked.scss","../../../bower_components/font-awesome/scss/_icons.scss","../../../bower_components/wyrm/sass/wyrm_core/_font_icon_defaults.sass","../../../bower_components/wyrm/sass/wyrm_core/_wy_variables.sass","../../../bower_components/wyrm/sass/wyrm_core/_alert.sass","../../../sass/_theme_variables.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_media.scss","../../../bower_components/wyrm/sass/wyrm_core/_button.sass","../../../bower_components/wyrm/sass/wyrm_core/_dropdown.sass","../../../bower_components/wyrm/sass/wyrm_core/_form.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_outer-container.scss","../../../bower_components/neat/app/assets/stylesheets/settings/_grid.scss","../../../bower_components/neat/app/assets/stylesheets/grid/_span-columns.scss","../../../bower_components/wyrm/sass/wyrm_core/_neat_extra.sass","../../../bower_components/wyrm/sass/wyrm_core/_generic.sass","../../../bower_components/wyrm/sass/wyrm_core/_table.sass","../../../bower_components/wyrm/sass/wyrm_core/_type.sass","../../../bower_components/wyrm/sass/wyrm_addons/pygments/_pygments.sass","../../../bower_components/wyrm/sass/wyrm_addons/pygments/_pygments_light.sass","../../../sass/_theme_breadcrumbs.sass","../../../sass/_theme_layout.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_private.scss","../../../sass/_theme_badge.sass","../../../sass/_theme_rst.sass","../../../sass/_theme_mathjax.sass","../../../sass/_theme_font_local.sass"], -"names": [], -"file": "theme.css" -} diff --git a/doc/html/_static/doctools.js b/doc/html/_static/doctools.js deleted file mode 100644 index 816349563588e87ca99c7cf2d6e54268e52e761d..0000000000000000000000000000000000000000 --- a/doc/html/_static/doctools.js +++ /dev/null @@ -1,287 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for all documentation. - * - * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - -/** - * make the code below compatible with browsers without - * an installed firebug like debugger -if (!window.console || !console.firebug) { - var names = ["log", "debug", "info", "warn", "error", "assert", "dir", - "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", - "profile", "profileEnd"]; - window.console = {}; - for (var i = 0; i < names.length; ++i) - window.console[names[i]] = function() {}; -} - */ - -/** - * small helper function to urldecode strings - */ -jQuery.urldecode = function(x) { - return decodeURIComponent(x).replace(/\+/g, ' '); -}; - -/** - * small helper function to urlencode strings - */ -jQuery.urlencode = encodeURIComponent; - -/** - * This function returns the parsed url parameters of the - * current request. Multiple values per key are supported, - * it will always return arrays of strings for the value parts. - */ -jQuery.getQueryParameters = function(s) { - if (typeof s == 'undefined') - s = document.location.search; - var parts = s.substr(s.indexOf('?') + 1).split('&'); - var result = {}; - for (var i = 0; i < parts.length; i++) { - var tmp = parts[i].split('=', 2); - var key = jQuery.urldecode(tmp[0]); - var value = jQuery.urldecode(tmp[1]); - if (key in result) - result[key].push(value); - else - result[key] = [value]; - } - return result; -}; - -/** - * highlight a given string on a jquery object by wrapping it in - * span elements with the given class name. - */ -jQuery.fn.highlightText = function(text, className) { - function highlight(node) { - if (node.nodeType == 3) { - var val = node.nodeValue; - var pos = val.toLowerCase().indexOf(text); - if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { - var span = document.createElement("span"); - span.className = className; - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - node.parentNode.insertBefore(span, node.parentNode.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling)); - node.nodeValue = val.substr(0, pos); - } - } - else if (!jQuery(node).is("button, select, textarea")) { - jQuery.each(node.childNodes, function() { - highlight(this); - }); - } - } - return this.each(function() { - highlight(this); - }); -}; - -/* - * backward compatibility for jQuery.browser - * This will be supported until firefox bug is fixed. - */ -if (!jQuery.browser) { - jQuery.uaMatch = function(ua) { - ua = ua.toLowerCase(); - - var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || - /(webkit)[ \/]([\w.]+)/.exec(ua) || - /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || - /(msie) ([\w.]+)/.exec(ua) || - ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || - []; - - return { - browser: match[ 1 ] || "", - version: match[ 2 ] || "0" - }; - }; - jQuery.browser = {}; - jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; -} - -/** - * Small JavaScript module for the documentation. - */ -var Documentation = { - - init : function() { - this.fixFirefoxAnchorBug(); - this.highlightSearchWords(); - this.initIndexTable(); - - }, - - /** - * i18n support - */ - TRANSLATIONS : {}, - PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, - LOCALE : 'unknown', - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext : function(string) { - var translated = Documentation.TRANSLATIONS[string]; - if (typeof translated == 'undefined') - return string; - return (typeof translated == 'string') ? translated : translated[0]; - }, - - ngettext : function(singular, plural, n) { - var translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated == 'undefined') - return (n == 1) ? singular : plural; - return translated[Documentation.PLURALEXPR(n)]; - }, - - addTranslations : function(catalog) { - for (var key in catalog.messages) - this.TRANSLATIONS[key] = catalog.messages[key]; - this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); - this.LOCALE = catalog.locale; - }, - - /** - * add context elements like header anchor links - */ - addContextElements : function() { - $('div[id] > :header:first').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this headline')). - appendTo(this); - }); - $('dt[id]').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this definition')). - appendTo(this); - }); - }, - - /** - * workaround a firefox stupidity - * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 - */ - fixFirefoxAnchorBug : function() { - if (document.location.hash) - window.setTimeout(function() { - document.location.href += ''; - }, 10); - }, - - /** - * highlight the search words provided in the url in the text - */ - highlightSearchWords : function() { - var params = $.getQueryParameters(); - var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; - if (terms.length) { - var body = $('div.body'); - if (!body.length) { - body = $('body'); - } - window.setTimeout(function() { - $.each(terms, function() { - body.highlightText(this.toLowerCase(), 'highlighted'); - }); - }, 10); - $('') - .appendTo($('#searchbox')); - } - }, - - /** - * init the domain index toggle buttons - */ - initIndexTable : function() { - var togglers = $('img.toggler').click(function() { - var src = $(this).attr('src'); - var idnum = $(this).attr('id').substr(7); - $('tr.cg-' + idnum).toggle(); - if (src.substr(-9) == 'minus.png') - $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); - else - $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); - }).css('display', ''); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { - togglers.click(); - } - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords : function() { - $('#searchbox .highlight-link').fadeOut(300); - $('span.highlighted').removeClass('highlighted'); - }, - - /** - * make the url absolute - */ - makeURL : function(relativeURL) { - return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; - }, - - /** - * get the current relative url - */ - getCurrentURL : function() { - var path = document.location.pathname; - var parts = path.split(/\//); - $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { - if (this == '..') - parts.pop(); - }); - var url = parts.join('/'); - return path.substring(url.lastIndexOf('/') + 1, path.length - 1); - }, - - initOnKeyListeners: function() { - $(document).keyup(function(event) { - var activeElementType = document.activeElement.tagName; - // don't navigate when in search box or textarea - if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { - switch (event.keyCode) { - case 37: // left - var prevHref = $('link[rel="prev"]').prop('href'); - if (prevHref) { - window.location.href = prevHref; - return false; - } - case 39: // right - var nextHref = $('link[rel="next"]').prop('href'); - if (nextHref) { - window.location.href = nextHref; - return false; - } - } - } - }); - } -}; - -// quick alias for translations -_ = Documentation.gettext; - -$(document).ready(function() { - Documentation.init(); -}); \ No newline at end of file diff --git a/doc/html/_static/down-pressed.png b/doc/html/_static/down-pressed.png deleted file mode 100644 index 7c30d004b71b32bb2fc06b3bd4dc8278baab0946..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/down-pressed.png and /dev/null differ diff --git a/doc/html/_static/down.png b/doc/html/_static/down.png deleted file mode 100644 index f48098a43b0c36342db9e1a9a7372e79b2484a59..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/down.png and /dev/null differ diff --git a/doc/html/_static/file.png b/doc/html/_static/file.png deleted file mode 100644 index 254c60bfbe2715ae2edca48ebccfd074deb8031d..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/file.png and /dev/null differ diff --git a/doc/html/_static/fonts/FontAwesome.otf b/doc/html/_static/fonts/FontAwesome.otf deleted file mode 100644 index 8b0f54e47e1d356dcf1496942a50e228e0f1ee14..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/fonts/FontAwesome.otf and /dev/null differ diff --git a/doc/html/_static/fonts/Inconsolata-Bold.ttf b/doc/html/_static/fonts/Inconsolata-Bold.ttf deleted file mode 100644 index 360a232dd09e43114a50814b999f67351cdf9a24..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/fonts/Inconsolata-Bold.ttf and /dev/null differ diff --git a/doc/html/_static/fonts/Inconsolata.ttf b/doc/html/_static/fonts/Inconsolata.ttf deleted file mode 100644 index 4b8a36d249a05a0fe1575dc3d96ef7079dba6b07..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/fonts/Inconsolata.ttf and /dev/null differ diff --git a/doc/html/_static/fonts/Lato-Bold.ttf b/doc/html/_static/fonts/Lato-Bold.ttf deleted file mode 100644 index e8b9bf6a20e1f67fd0e8b42b25e3f0e627babe39..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/fonts/Lato-Bold.ttf and /dev/null differ diff --git a/doc/html/_static/fonts/Lato-Regular.ttf b/doc/html/_static/fonts/Lato-Regular.ttf deleted file mode 100644 index 7608bc3e0fd03fc3cf3a41501ed9c1b49b773ac4..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/fonts/Lato-Regular.ttf and /dev/null differ diff --git a/doc/html/_static/fonts/RobotoSlab-Bold.ttf b/doc/html/_static/fonts/RobotoSlab-Bold.ttf deleted file mode 100644 index e6ed0de530e99cc8c0ef6e4a20012ed1533b62d1..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/fonts/RobotoSlab-Bold.ttf and /dev/null differ diff --git a/doc/html/_static/fonts/RobotoSlab-Regular.ttf b/doc/html/_static/fonts/RobotoSlab-Regular.ttf deleted file mode 100644 index 141d6c08c8ec7248a98ac72c921fc54f823dc75c..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/fonts/RobotoSlab-Regular.ttf and /dev/null differ diff --git a/doc/html/_static/fonts/fontawesome-webfont.eot b/doc/html/_static/fonts/fontawesome-webfont.eot deleted file mode 100644 index 7c79c6a6bc9a128a2a8eaffbe49a4338625fdbc2..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/doc/html/_static/fonts/fontawesome-webfont.svg b/doc/html/_static/fonts/fontawesome-webfont.svg deleted file mode 100644 index 45fdf33830123533459b17fbbf91735489fd6bd8..0000000000000000000000000000000000000000 --- a/doc/html/_static/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,414 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/doc/html/_static/fonts/fontawesome-webfont.ttf b/doc/html/_static/fonts/fontawesome-webfont.ttf deleted file mode 100644 index e89738de5eaf8fca33a2f2cdc5cb4929caa62b71..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/doc/html/_static/fonts/fontawesome-webfont.woff b/doc/html/_static/fonts/fontawesome-webfont.woff deleted file mode 100644 index 8c1748aab7a790d510fb3f42a8a8971d96efa79d..0000000000000000000000000000000000000000 Binary files a/doc/html/_static/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/doc/html/_static/jquery-1.11.1.js b/doc/html/_static/jquery-1.11.1.js deleted file mode 100644 index d4b67f7e6c1a94df167f31657769717a71581066..0000000000000000000000000000000000000000 --- a/doc/html/_static/jquery-1.11.1.js +++ /dev/null @@ -1,10308 +0,0 @@ -/*! - * jQuery JavaScript Library v1.11.1 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2014-05-01T17:42Z - */ - -(function( global, factory ) { - - if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper window is present, - // execute the factory and get jQuery - // For environments that do not inherently posses a window with a document - // (such as Node.js), expose a jQuery-making factory as module.exports - // This accentuates the need for the creation of a real window - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Can't do this because several apps including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// Support: Firefox 18+ -// - -var deletedIds = []; - -var slice = deletedIds.slice; - -var concat = deletedIds.concat; - -var push = deletedIds.push; - -var indexOf = deletedIds.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var support = {}; - - - -var - version = "1.11.1", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android<4.1, IE<9 - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; - -jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num != null ? - - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: deletedIds.sort, - splice: deletedIds.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - isWindow: function( obj ) { - /* jshint eqeqeq: false */ - return obj != null && obj == obj.window; - }, - - isNumeric: function( obj ) { - // parseFloat NaNs numeric-cast false positives (null|true|false|"") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0; - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - isPlainObject: function( obj ) { - var key; - - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - try { - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - } catch ( e ) { - // IE8,9 Will throw exceptions on certain host objects #9897 - return false; - } - - // Support: IE<9 - // Handle iteration over inherited properties before own properties. - if ( support.ownLast ) { - for ( key in obj ) { - return hasOwn.call( obj, key ); - } - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call(obj) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && jQuery.trim( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } - } - - return obj; - }, - - // Support: Android<4.1, IE<9 - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - var len; - - if ( arr ) { - if ( indexOf ) { - return indexOf.call( arr, elem, i ); - } - - len = arr.length; - i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; - - for ( ; i < len; i++ ) { - // Skip accessing in sparse arrays - if ( i in arr && arr[ i ] === elem ) { - return i; - } - } - } - - return -1; - }, - - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - while ( j < len ) { - first[ i++ ] = second[ j++ ]; - } - - // Support: IE<9 - // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) - if ( len !== len ) { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, - i = 0, - length = elems.length, - isArray = isArraylike( elems ), - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var args, proxy, tmp; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: function() { - return +( new Date() ); - }, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -}); - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -function isArraylike( obj ) { - var length = obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.nodeType === 1 && length ) { - return true; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v1.10.19 - * http://sizzlejs.com/ - * - * Copyright 2013 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2014-04-18 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + -(new Date()), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // General-purpose constants - strundefined = typeof undefined, - MAX_NEGATIVE = 1 << 31, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf if we can't use a native one - indexOf = arr.indexOf || function( elem ) { - var i = 0, - len = this.length; - for ( ; i < len; i++ ) { - if ( this[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + characterEncoding + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - rescape = /'|\\/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }; - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - - if ( !selector || typeof selector !== "string" ) { - return results; - } - - if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { - return []; - } - - if ( documentIsHTML && !seed ) { - - // Shortcuts - if ( (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document (jQuery #6963) - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // QSA path - if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - nid = old = expando; - newContext = context; - newSelector = nodeType === 9 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return !!fn( div ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( div.parentNode ) { - div.parentNode.removeChild( div ); - } - // release memory in IE - div = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = attrs.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - ( ~b.sourceIndex || MAX_NEGATIVE ) - - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== strundefined && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, - doc = node ? node.ownerDocument || node : preferredDoc, - parent = doc.defaultView; - - // If no document and documentElement is available, return - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Set our document - document = doc; - docElem = doc.documentElement; - - // Support tests - documentIsHTML = !isXML( doc ); - - // Support: IE>8 - // If iframe document is assigned to "document" variable and if iframe has been reloaded, - // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 - // IE6-8 do not support the defaultView property so parent will be undefined - if ( parent && parent !== parent.top ) { - // IE11 does not have attachEvent, so all must suffer - if ( parent.addEventListener ) { - parent.addEventListener( "unload", function() { - setDocument(); - }, false ); - } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", function() { - setDocument(); - }); - } - } - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) - support.attributes = assert(function( div ) { - div.className = "i"; - return !div.getAttribute("className"); - }); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Check if getElementsByClassName can be trusted - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ) && assert(function( div ) { - div.innerHTML = "
    "; - - // Support: Safari<4 - // Catch class over-caching - div.firstChild.className = "i"; - // Support: Opera<10 - // Catch gEBCN failure to find non-leading classes - return div.getElementsByClassName("i").length === 2; - }); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert(function( div ) { - docElem.appendChild( div ).id = expando; - return !doc.getElementsByName || !doc.getElementsByName( expando ).length; - }); - - // ID find and filter - if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && documentIsHTML ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [ m ] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - // Support: IE6/7 - // getElementById is not reliable as a find shortcut - delete Expr.find["ID"]; - - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== strundefined ) { - return context.getElementsByTagName( tag ); - } - } : - function( tag, context ) { - var elem, - tmp = [], - i = 0, - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See http://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - div.innerHTML = ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowclip^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - }); - - assert(function( div ) { - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = doc.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( div.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully does not implement inclusive descendent - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return doc; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch(e) {} - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[6] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) - } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf.call( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( (tokens = []) ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (oldCache = outerCache[ dir ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - // Reuse newcache so results back-propagate to previous elements - outerCache[ dir ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf.call( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context !== document && context; - } - - // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - // Try to minimize operations if there is no seed and only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome<14 -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( div1 ) { - // Should return 1, but returns 4 (following) - return div1.compareDocumentPosition( document.createElement("div") ) & 1; -}); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( div ) { - div.innerHTML = ""; - return div.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = ""; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -return Sizzle; - -})( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); - - - -var risSimple = /^.[^:#\[\.,]*$/; - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - /* jshint -W018 */ - return !!qualifier.call( elem, i, elem ) !== not; - }); - - } - - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - }); - - } - - if ( typeof qualifier === "string" ) { - if ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; - }); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - })); -}; - -jQuery.fn.extend({ - find: function( selector ) { - var i, - ret = [], - self = this, - len = self.length; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }) ); - } - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; - }, - filter: function( selector ) { - return this.pushStack( winnow(this, selector || [], false) ); - }, - not: function( selector ) { - return this.pushStack( winnow(this, selector || [], true) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -}); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - init = jQuery.fn.init = function( selector, context ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - - // scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[1], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return typeof rootjQuery.ready !== "undefined" ? - rootjQuery.ready( selector ) : - // Execute immediately if ready is not present - selector( jQuery ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.extend({ - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -jQuery.fn.extend({ - has: function( target ) { - var i, - targets = jQuery( target, this ), - len = targets.length; - - return this.filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { - // Always skip document fragments - if ( cur.nodeType < 11 && (pos ? - pos.index(cur) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector(cur, selectors)) ) { - - matched.push( cur ); - break; - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; - } - - // index in selector - if ( typeof elem === "string" ) { - return jQuery.inArray( this[0], jQuery( elem ) ); - } - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.unique( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) - ); - } -}); - -function sibling( cur, dir ) { - do { - cur = cur[ dir ]; - } while ( cur && cur.nodeType !== 1 ); - - return cur; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - if ( this.length > 1 ) { - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - ret = jQuery.unique( ret ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - } - - return this.pushStack( ret ); - }; -}); -var rnotwhite = (/\S+/g); - - - -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache -function createOptions( options ) { - var object = optionsCache[ options ] = {}; - jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - }); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - // Last fire value (for non-forgettable lists) - memory, - // Flag to know if list was already fired - fired, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // First callback to fire (used internally by add and fireWith) - firingStart, - // Actual callback list - list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], - // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; - } - } - firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { - list = []; - } else { - self.disable(); - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { - jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && type !== "string" ) { - // Inspect recursively - add( arg ); - } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); - } - } - return this; - }, - // Remove a callback from the list - remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } - } - }); - } - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); - }, - // Remove all callbacks from the list - empty: function() { - list = []; - firingLength = 0; - return this; - }, - // Have the list do nothing anymore - disable: function() { - list = stack = memory = undefined; - return this; - }, - // Is it disabled? - disabled: function() { - return !list; - }, - // Lock the list in its current state - lock: function() { - stack = undefined; - if ( !memory ) { - self.disable(); - } - return this; - }, - // Is it locked? - locked: function() { - return !stack; - }, - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( list && ( !fired || stack ) ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if ( firing ) { - stack.push( args ); - } else { - fire( args ); - } - } - return this; - }, - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -jQuery.extend({ - - Deferred: function( func ) { - var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred(function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); - } - }); - }); - fns = null; - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; - - // Handle state - if ( stateString ) { - list.add(function() { - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( values === progressValues ) { - deferred.notifyWith( contexts, values ); - - } else if ( !(--remaining) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); - } else { - --remaining; - } - } - } - - // if we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -}); - - -// The deferred used on DOM ready -var readyList; - -jQuery.fn.ready = function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; -}; - -jQuery.extend({ - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.triggerHandler ) { - jQuery( document ).triggerHandler( "ready" ); - jQuery( document ).off( "ready" ); - } - } -}); - -/** - * Clean-up method for dom ready events - */ -function detach() { - if ( document.addEventListener ) { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - - } else { - document.detachEvent( "onreadystatechange", completed ); - window.detachEvent( "onload", completed ); - } -} - -/** - * The ready event handler and self cleanup method - */ -function completed() { - // readyState === "complete" is good enough for us to call the dom ready in oldIE - if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { - detach(); - jQuery.ready(); - } -} - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // we once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - // Standards-based browsers support DOMContentLoaded - } else if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); - - // If IE event model is used - } else { - // Ensure firing before onload, maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", completed ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", completed ); - - // If IE and not a frame - // continually check to see if the document is ready - var top = false; - - try { - top = window.frameElement == null && document.documentElement; - } catch(e) {} - - if ( top && top.doScroll ) { - (function doScrollCheck() { - if ( !jQuery.isReady ) { - - try { - // Use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - top.doScroll("left"); - } catch(e) { - return setTimeout( doScrollCheck, 50 ); - } - - // detach all dom ready events - detach(); - - // and execute any waiting functions - jQuery.ready(); - } - })(); - } - } - } - return readyList.promise( obj ); -}; - - -var strundefined = typeof undefined; - - - -// Support: IE<9 -// Iteration over object's inherited properties before its own -var i; -for ( i in jQuery( support ) ) { - break; -} -support.ownLast = i !== "0"; - -// Note: most support tests are defined in their respective modules. -// false until the test is run -support.inlineBlockNeedsLayout = false; - -// Execute ASAP in case we need to set body.style.zoom -jQuery(function() { - // Minified: var a,b,c,d - var val, div, body, container; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - // Return for frameset docs that don't have a body - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - if ( typeof div.style.zoom !== strundefined ) { - // Support: IE<8 - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; - - support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; - if ( val ) { - // Prevent IE 6 from affecting layout for positioned elements #11048 - // Prevent IE from shrinking the body in IE 7 mode #12869 - // Support: IE<8 - body.style.zoom = 1; - } - } - - body.removeChild( container ); -}); - - - - -(function() { - var div = document.createElement( "div" ); - - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - } - - // Null elements to avoid leaks in IE. - div = null; -})(); - - -/** - * Determines whether an object can have data - */ -jQuery.acceptData = function( elem ) { - var noData = jQuery.noData[ (elem.nodeName + " ").toLowerCase() ], - nodeType = +elem.nodeType || 1; - - // Do not set data on non-element DOM nodes because it will not be cleared (#8335). - return nodeType !== 1 && nodeType !== 9 ? - false : - - // Nodes accept data unless otherwise specified; rejection can be conditional - !noData || noData !== true && elem.getAttribute("classid") === noData; -}; - - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /([A-Z])/g; - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - - var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); - - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// checks a cache object for emptiness -function isEmptyDataObject( obj ) { - var name; - for ( name in obj ) { - - // if the public data object is empty, the private is still empty - if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { - continue; - } - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} - -function internalData( elem, name, data, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var ret, thisCache, - internalKey = jQuery.expando, - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++; - } else { - id = internalKey; - } - } - - if ( !cache[ id ] ) { - // Avoid exposing jQuery metadata on plain JS objects when the object - // is serialized using JSON.stringify - cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ] = jQuery.extend( cache[ id ], name ); - } else { - cache[ id ].data = jQuery.extend( cache[ id ].data, name ); - } - } - - thisCache = cache[ id ]; - - // jQuery data() is stored in a separate object inside the object's internal data - // cache in order to avoid key collisions between internal data and user-defined - // data. - if ( !pvt ) { - if ( !thisCache.data ) { - thisCache.data = {}; - } - - thisCache = thisCache.data; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // Check for both converted-to-camel and non-converted data property names - // If a data property was specified - if ( typeof name === "string" ) { - - // First Try to find as-is property data - ret = thisCache[ name ]; - - // Test for null|undefined property data - if ( ret == null ) { - - // Try to find the camelCased property - ret = thisCache[ jQuery.camelCase( name ) ]; - } - } else { - ret = thisCache; - } - - return ret; -} - -function internalRemoveData( elem, name, pvt ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var thisCache, i, - isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - - thisCache = pvt ? cache[ id ] : cache[ id ].data; - - if ( thisCache ) { - - // Support array or space separated string names for data keys - if ( !jQuery.isArray( name ) ) { - - // try the string as a key before any manipulation - if ( name in thisCache ) { - name = [ name ]; - } else { - - // split the camel cased version by spaces unless a key with the spaces exists - name = jQuery.camelCase( name ); - if ( name in thisCache ) { - name = [ name ]; - } else { - name = name.split(" "); - } - } - } else { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = name.concat( jQuery.map( name, jQuery.camelCase ) ); - } - - i = name.length; - while ( i-- ) { - delete thisCache[ name[i] ]; - } - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( !pvt ) { - delete cache[ id ].data; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject( cache[ id ] ) ) { - return; - } - } - - // Destroy the cache - if ( isNode ) { - jQuery.cleanData( [ elem ], true ); - - // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) - /* jshint eqeqeq: false */ - } else if ( support.deleteExpando || cache != cache.window ) { - /* jshint eqeqeq: true */ - delete cache[ id ]; - - // When all else fails, null - } else { - cache[ id ] = null; - } -} - -jQuery.extend({ - cache: {}, - - // The following elements (space-suffixed to avoid Object.prototype collisions) - // throw uncatchable exceptions if you attempt to set expando properties - noData: { - "applet ": true, - "embed ": true, - // ...but Flash objects (which have this classid) *can* handle expandos - "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data ) { - return internalData( elem, name, data ); - }, - - removeData: function( elem, name ) { - return internalRemoveData( elem, name ); - }, - - // For internal use only. - _data: function( elem, name, data ) { - return internalData( elem, name, data, true ); - }, - - _removeData: function( elem, name ) { - return internalRemoveData( elem, name, true ); - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var i, name, data, - elem = this[0], - attrs = elem && elem.attributes; - - // Special expections of .data basically thwart jQuery.access, - // so implement the relevant behavior ourselves - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = jQuery.data( elem ); - - if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE11+ - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice(5) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - jQuery._data( elem, "parsedAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - return arguments.length > 1 ? - - // Sets one value - this.each(function() { - jQuery.data( this, key, value ); - }) : - - // Gets one value - // Try to fetch any internally stored data first - elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined; - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - - -jQuery.extend({ - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = jQuery._data( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray(data) ) { - queue = jQuery._data( elem, type, jQuery.makeArray(data) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // not intended for public consumption - generates a queueHooks object, or returns the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return jQuery._data( elem, key ) || jQuery._data( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - jQuery._removeData( elem, type + "queue" ); - jQuery._removeData( elem, key ); - }) - }); - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); - } - - return data === undefined ? - this : - this.each(function() { - var queue = jQuery.queue( this, type, data ); - - // ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = jQuery._data( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -}); -var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var isHidden = function( elem, el ) { - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); - }; - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - length = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < length; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - length ? fn( elems[0], key ) : emptyGet; -}; -var rcheckableType = (/^(?:checkbox|radio)$/i); - - - -(function() { - // Minified: var a,b,c - var input = document.createElement( "input" ), - div = document.createElement( "div" ), - fragment = document.createDocumentFragment(); - - // Setup - div.innerHTML = "
    a"; - - // IE strips leading whitespace when .innerHTML is used - support.leadingWhitespace = div.firstChild.nodeType === 3; - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - support.tbody = !div.getElementsByTagName( "tbody" ).length; - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - support.htmlSerialize = !!div.getElementsByTagName( "link" ).length; - - // Makes sure cloning an html5 element does not cause problems - // Where outerHTML is undefined, this still works - support.html5Clone = - document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav>"; - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - input.type = "checkbox"; - input.checked = true; - fragment.appendChild( input ); - support.appendChecked = input.checked; - - // Make sure textarea (and checkbox) defaultValue is properly cloned - // Support: IE6-IE11+ - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // #11217 - WebKit loses check when the name is after the checked attribute - fragment.appendChild( div ); - div.innerHTML = ""; - - // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 - // old WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<9 - // Opera does not clone events (and typeof div.attachEvent === undefined). - // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() - support.noCloneEvent = true; - if ( div.attachEvent ) { - div.attachEvent( "onclick", function() { - support.noCloneEvent = false; - }); - - div.cloneNode( true ).click(); - } - - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - } -})(); - - -(function() { - var i, eventName, - div = document.createElement( "div" ); - - // Support: IE<9 (lack submit/change bubble), Firefox 23+ (lack focusin event) - for ( i in { submit: true, change: true, focusin: true }) { - eventName = "on" + i; - - if ( !(support[ i + "Bubbles" ] = eventName in window) ) { - // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) - div.setAttribute( eventName, "t" ); - support[ i + "Bubbles" ] = div.attributes[ eventName ].expando === false; - } - } - - // Null elements to avoid leaks in IE. - div = null; -})(); - - -var rformElems = /^(?:input|select|textarea)$/i, - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - var tmp, events, t, handleObjIn, - special, eventHandle, handleObj, - handlers, type, namespaces, origType, - elemData = jQuery._data( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { - events = elemData.events = {}; - } - if ( !(eventHandle = elemData.handle) ) { - eventHandle = elemData.handle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== strundefined && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : - undefined; - }; - // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events - eventHandle.elem = elem; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener/attachEvent if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - var j, handleObj, tmp, - origCount, t, events, - special, handlers, type, - namespaces, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ); - - if ( !elemData || !(events = elemData.events) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - - // removeData also checks for emptiness and clears the expando if empty - // so use it instead of delete - jQuery._removeData( elem, "events" ); - } - }, - - trigger: function( event, data, elem, onlyHandlers ) { - var handle, ontype, cur, - bubbleType, special, tmp, i, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && jQuery.acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && - jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction() check here because IE6/7 fails that test. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - try { - elem[ type ](); - } catch ( e ) { - // IE<9 dies on focus/blur to hidden element (#1486,#12518) - // only reproducible on winXP IE8 native, not IE9 in IE8 mode - } - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, ret, handleObj, matched, j, - handlerQueue = [], - args = slice.call( arguments ), - handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) - .apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var sel, handleObj, matches, i, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - // Black-hole SVG instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { - - /* jshint eqeqeq: false */ - for ( ; cur != this; cur = cur.parentNode || this ) { - /* jshint eqeqeq: true */ - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); - } - - return handlerQueue; - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: IE<9 - // Fix target property (#1925) - if ( !event.target ) { - event.target = originalEvent.srcElement || document; - } - - // Support: Chrome 23+, Safari? - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Support: IE<9 - // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) - event.metaKey = !!event.metaKey; - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var body, eventDoc, doc, - button = original.button, - fromElement = original.fromElement; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && fromElement ) { - event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - focus: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - try { - this.focus(); - return false; - } catch ( e ) { - // Support: IE<9 - // If we error on focus to hidden element (#1486, #12518), - // let .trigger() run the handlers - } - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - click: { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { - this.click(); - return false; - } - }, - - // For cross-browser consistency, don't fire native .click() on links - _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - var name = "on" + type; - - if ( elem.detachEvent ) { - - // #8545, #7054, preventing memory leaks for custom events in IE6-8 - // detachEvent needed property on element, by name of that event, to properly expose it to GC - if ( typeof elem[ name ] === strundefined ) { - elem[ name ] = null; - } - - elem.detachEvent( name, handle ); - } - }; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - // Support: IE < 9, Android < 4.0 - src.returnValue === false ? - returnTrue : - returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - if ( !e ) { - return; - } - - // If preventDefault exists, run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // Support: IE - // Otherwise set the returnValue property of the original event to false - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - if ( !e ) { - return; - } - // If stopPropagation exists, run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - - // Support: IE - // Set the cancelBubble property of the original event to true - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && e.stopImmediatePropagation ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -}); - -// IE submit delegation -if ( !support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Lazy-add a submit handler when a descendant form may potentially be submitted - jQuery.event.add( this, "click._submit keypress._submit", function( e ) { - // Node name check avoids a VML-related crash in IE (#9807) - var elem = e.target, - form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; - if ( form && !jQuery._data( form, "submitBubbles" ) ) { - jQuery.event.add( form, "submit._submit", function( event ) { - event._submit_bubble = true; - }); - jQuery._data( form, "submitBubbles", true ); - } - }); - // return undefined since we don't need an event listener - }, - - postDispatch: function( event ) { - // If form was submitted by the user, bubble the event up the tree - if ( event._submit_bubble ) { - delete event._submit_bubble; - if ( this.parentNode && !event.isTrigger ) { - jQuery.event.simulate( "submit", this.parentNode, event, true ); - } - } - }, - - teardown: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Remove delegated handlers; cleanData eventually reaps submit handlers attached above - jQuery.event.remove( this, "._submit" ); - } - }; -} - -// IE change delegation and checkbox/radio fix -if ( !support.changeBubbles ) { - - jQuery.event.special.change = { - - setup: function() { - - if ( rformElems.test( this.nodeName ) ) { - // IE doesn't fire change on a check/radio until blur; trigger it on click - // after a propertychange. Eat the blur-change in special.change.handle. - // This still fires onchange a second time for check/radio after blur. - if ( this.type === "checkbox" || this.type === "radio" ) { - jQuery.event.add( this, "propertychange._change", function( event ) { - if ( event.originalEvent.propertyName === "checked" ) { - this._just_changed = true; - } - }); - jQuery.event.add( this, "click._change", function( event ) { - if ( this._just_changed && !event.isTrigger ) { - this._just_changed = false; - } - // Allow triggered, simulated change events (#11500) - jQuery.event.simulate( "change", this, event, true ); - }); - } - return false; - } - // Delegated event; lazy-add a change handler on descendant inputs - jQuery.event.add( this, "beforeactivate._change", function( e ) { - var elem = e.target; - - if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { - jQuery.event.add( elem, "change._change", function( event ) { - if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { - jQuery.event.simulate( "change", this.parentNode, event, true ); - } - }); - jQuery._data( elem, "changeBubbles", true ); - } - }); - }, - - handle: function( event ) { - var elem = event.target; - - // Swallow native change events from checkbox/radio, we already triggered them above - if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { - return event.handleObj.handler.apply( this, arguments ); - } - }, - - teardown: function() { - jQuery.event.remove( this, "._change" ); - - return !rformElems.test( this.nodeName ); - } - }; -} - -// Create "bubbling" focus and blur events -if ( !support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - jQuery._data( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - jQuery._removeData( doc, fix ); - } else { - jQuery._data( doc, fix, attaches ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var type, origFn; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -}); - - -function createSafeFragment( document ) { - var list = nodeNames.split( "|" ), - safeFrag = document.createDocumentFragment(); - - if ( safeFrag.createElement ) { - while ( list.length ) { - safeFrag.createElement( - list.pop() - ); - } - } - return safeFrag; -} - -var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + - "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", - rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, - rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rtbody = /\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - option: [ 1, "" ], - legend: [ 1, "
    ", "
    " ], - area: [ 1, "", "" ], - param: [ 1, "", "" ], - thead: [ 1, "", "
    " ], - tr: [ 2, "", "
    " ], - col: [ 2, "", "
    " ], - td: [ 3, "", "
    " ], - - // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, - // unless wrapped in a div with non-breaking characters in front of it. - _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
    ", "
    " ] - }, - safeFragment = createSafeFragment( document ), - fragmentDiv = safeFragment.appendChild( document.createElement("div") ); - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -function getAll( context, tag ) { - var elems, elem, - i = 0, - found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) : - undefined; - - if ( !found ) { - for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { - if ( !tag || jQuery.nodeName( elem, tag ) ) { - found.push( elem ); - } else { - jQuery.merge( found, getAll( elem, tag ) ); - } - } - } - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], found ) : - found; -} - -// Used in buildFragment, fixes the defaultChecked property -function fixDefaultChecked( elem ) { - if ( rcheckableType.test( elem.type ) ) { - elem.defaultChecked = elem.checked; - } -} - -// Support: IE<8 -// Manipulating tables requires a tbody -function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? - - elem.getElementsByTagName("tbody")[0] || - elem.appendChild( elem.ownerDocument.createElement("tbody") ) : - elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - if ( match ) { - elem.type = match[1]; - } else { - elem.removeAttribute("type"); - } - return elem; -} - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var elem, - i = 0; - for ( ; (elem = elems[i]) != null; i++ ) { - jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); - } -} - -function cloneCopyEvent( src, dest ) { - - if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { - return; - } - - var type, i, l, - oldData = jQuery._data( src ), - curData = jQuery._data( dest, oldData ), - events = oldData.events; - - if ( events ) { - delete curData.handle; - curData.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - - // make the cloned public data object a copy from the original - if ( curData.data ) { - curData.data = jQuery.extend( {}, curData.data ); - } -} - -function fixCloneNodeIssues( src, dest ) { - var nodeName, e, data; - - // We do not need to do anything for non-Elements - if ( dest.nodeType !== 1 ) { - return; - } - - nodeName = dest.nodeName.toLowerCase(); - - // IE6-8 copies events bound via attachEvent when using cloneNode. - if ( !support.noCloneEvent && dest[ jQuery.expando ] ) { - data = jQuery._data( dest ); - - for ( e in data.events ) { - jQuery.removeEvent( dest, e, data.handle ); - } - - // Event data gets referenced instead of copied if the expando gets copied too - dest.removeAttribute( jQuery.expando ); - } - - // IE blanks contents when cloning scripts, and tries to evaluate newly-set text - if ( nodeName === "script" && dest.text !== src.text ) { - disableScript( dest ).text = src.text; - restoreScript( dest ); - - // IE6-10 improperly clones children of object elements using classid. - // IE10 throws NoModificationAllowedError if parent is null, #12132. - } else if ( nodeName === "object" ) { - if ( dest.parentNode ) { - dest.outerHTML = src.outerHTML; - } - - // This path appears unavoidable for IE9. When cloning an object - // element in IE9, the outerHTML strategy above is not sufficient. - // If the src has innerHTML and the destination does not, - // copy the src.innerHTML into the dest.innerHTML. #10324 - if ( support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { - dest.innerHTML = src.innerHTML; - } - - } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - // IE6-8 fails to persist the checked state of a cloned checkbox - // or radio button. Worse, IE6-7 fail to give the cloned element - // a checked appearance if the defaultChecked value isn't also set - - dest.defaultChecked = dest.checked = src.checked; - - // IE6-7 get confused and end up setting the value of a cloned - // checkbox/radio button to an empty string instead of "on" - if ( dest.value !== src.value ) { - dest.value = src.value; - } - - // IE6-8 fails to return the selected option to the default selected - // state when cloning options - } else if ( nodeName === "option" ) { - dest.defaultSelected = dest.selected = src.defaultSelected; - - // IE6-8 fails to set the defaultValue to the correct value when - // cloning other types of input fields - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var destElements, node, clone, i, srcElements, - inPage = jQuery.contains( elem.ownerDocument, elem ); - - if ( support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { - clone = elem.cloneNode( true ); - - // IE<=8 does not properly clone detached, unknown element nodes - } else { - fragmentDiv.innerHTML = elem.outerHTML; - fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); - } - - if ( (!support.noCloneEvent || !support.noCloneChecked) && - (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - // Fix all IE cloning issues - for ( i = 0; (node = srcElements[i]) != null; ++i ) { - // Ensure that the destination node is not null; Fixes #9587 - if ( destElements[i] ) { - fixCloneNodeIssues( node, destElements[i] ); - } - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0; (node = srcElements[i]) != null; i++ ) { - cloneCopyEvent( node, destElements[i] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - destElements = srcElements = node = null; - - // Return the cloned set - return clone; - }, - - buildFragment: function( elems, context, scripts, selection ) { - var j, elem, contains, - tmp, tag, tbody, wrap, - l = elems.length, - - // Ensure a safe fragment - safe = createSafeFragment( context ), - - nodes = [], - i = 0; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || safe.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = (rtagName.exec( elem ) || [ "", "" ])[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - - tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; - - // Descend through wrappers to the right content - j = wrap[0]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Manually add leading whitespace removed by IE - if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); - } - - // Remove IE's autoinserted from table fragments - if ( !support.tbody ) { - - // String was a , *may* have spurious - elem = tag === "table" && !rtbody.test( elem ) ? - tmp.firstChild : - - // String was a bare or - wrap[1] === "
    " && !rtbody.test( elem ) ? - tmp : - 0; - - j = elem && elem.childNodes.length; - while ( j-- ) { - if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { - elem.removeChild( tbody ); - } - } - } - - jQuery.merge( nodes, tmp.childNodes ); - - // Fix #12392 for WebKit and IE > 9 - tmp.textContent = ""; - - // Fix #12392 for oldIE - while ( tmp.firstChild ) { - tmp.removeChild( tmp.firstChild ); - } - - // Remember the top-level container for proper cleanup - tmp = safe.lastChild; - } - } - } - - // Fix #11356: Clear elements from fragment - if ( tmp ) { - safe.removeChild( tmp ); - } - - // Reset defaultChecked for any radios and checkboxes - // about to be appended to the DOM in IE 6/7 (#8060) - if ( !support.appendChecked ) { - jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); - } - - i = 0; - while ( (elem = nodes[ i++ ]) ) { - - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( safe.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - tmp = null; - - return safe; - }, - - cleanData: function( elems, /* internal */ acceptData ) { - var elem, type, id, data, - i = 0, - internalKey = jQuery.expando, - cache = jQuery.cache, - deleteExpando = support.deleteExpando, - special = jQuery.event.special; - - for ( ; (elem = elems[i]) != null; i++ ) { - if ( acceptData || jQuery.acceptData( elem ) ) { - - id = elem[ internalKey ]; - data = id && cache[ id ]; - - if ( data ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Remove cache only if it was not already removed by jQuery.event.remove - if ( cache[ id ] ) { - - delete cache[ id ]; - - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( deleteExpando ) { - delete elem[ internalKey ]; - - } else if ( typeof elem.removeAttribute !== strundefined ) { - elem.removeAttribute( internalKey ); - - } else { - elem[ internalKey ] = null; - } - - deletedIds.push( id ); - } - } - } - } - } -}); - -jQuery.fn.extend({ - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); - }, null, value, arguments.length ); - }, - - append: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - remove: function( selector, keepData /* Internal Use Only */ ) { - var elem, - elems = selector ? jQuery.filter( selector, this ) : this, - i = 0; - - for ( ; (elem = elems[i]) != null; i++ ) { - - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - - return this; - }, - - empty: function() { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - } - - // Remove any remaining nodes - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - - // If this is a select, ensure that it displays empty (#12336) - // Support: IE<9 - if ( elem.options && jQuery.nodeName( elem, "select" ) ) { - elem.options.length = 0; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map(function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined ) { - return elem.nodeType === 1 ? - elem.innerHTML.replace( rinlinejQuery, "" ) : - undefined; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - ( support.htmlSerialize || !rnoshimcache.test( value ) ) && - ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && - !wrapMap[ (rtagName.exec( value ) || [ "", "" ])[ 1 ].toLowerCase() ] ) { - - value = value.replace( rxhtmlTag, "<$1>" ); - - try { - for (; i < l; i++ ) { - // Remove element nodes and prevent memory leaks - elem = this[i] || {}; - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch(e) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var arg = arguments[ 0 ]; - - // Make the changes, replacing each context element with the new content - this.domManip( arguments, function( elem ) { - arg = this.parentNode; - - jQuery.cleanData( getAll( this ) ); - - if ( arg ) { - arg.replaceChild( elem, this ); - } - }); - - // Force removal if there was no new content (e.g., from empty arguments) - return arg && (arg.length || arg.nodeType) ? this : this.remove(); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, callback ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var first, node, hasScripts, - scripts, doc, fragment, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[0], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[0] = value.call( this, index, self.html() ); - } - self.domManip( args, callback ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( this[i], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); - } - } - } - } - - // Fix #11809: Avoid leaking memory - fragment = first = null; - } - } - - return this; - } -}); - -jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - i = 0, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone(true); - jQuery( insert[i] )[ original ]( elems ); - - // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -}); - - -var iframe, - elemdisplay = {}; - -/** - * Retrieve the actual display of a element - * @param {String} name nodeName of the element - * @param {Object} doc Document object - */ -// Called only from within defaultDisplay -function actualDisplay( name, doc ) { - var style, - elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - // getDefaultComputedStyle might be reliably used only on attached element - display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? - - // Use of this method is a temporary fix (more like optmization) until something better comes along, - // since it was removed from specification and supported only in FF - style.display : jQuery.css( elem[ 0 ], "display" ); - - // We don't have any data stored on the element, - // so use "detach" method as fast way to get rid of the element - elem.detach(); - - return display; -} - -/** - * Try to determine the default display value of an element - * @param {String} nodeName - */ -function defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - - // Use the already-created iframe if possible - iframe = (iframe || jQuery( "