LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

### angle_style table command

Syntax:

    angle_style table style N

- style = linear or spline = method of interpolation
- N = use N values in table

Examples:

    angle_style table linear 1000
    angle_coeff 3 file.table ENTRY1

Description:

Style table creates interpolation tables of length N from angle potential and force values listed in a file(s) as a function of angle The files are read by the angle_coeff command.

The interpolation tables are created by fitting cubic splines to the file values and interpolating energy and force values at each of N distances. During a simulation, these tables are used to interpolate energy and force values as needed. The interpolation is done in one of 2 styles: linear or spline.

For the linear style, the angle is used to find 2 surrounding table values from which an energy or force is computed by linear interpolation.

For the spline style, a cubic spline coefficients are computed and stored at each of the N values in the table. The angle is used to find the appropriate set of coefficients which are used to evaluate a cubic polynomial which computes the energy or force.

The following coefficients must be defined for each angle type via the angle_coeff command as in the example above.

- filename
- keyword

The filename specifies a file containing tabulated energy and force values. The keyword specifies a section of the file. The format of this file is described below.

The format of a tabulated file is as follows (without the parenthesized comments):

    # Angle potential for harmonic (one or more comment or blank lines)

    HAM                           (keyword is the first text on line)
    N 181 FP 0 0 EQ 90.0          (N, FP, EQ parameters)
                                  (blank line)
    N 181 FP 0 0                  (N, FP parameters)
    1 0.0 200.5 2.5               (index, angle, energy, force)
    2 1.0 198.0 2.5
    ...
    181 180.0 0.0 0.0

A section begins with a non-blank line whose 1st character is not a "#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the angle_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values.

The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the N specified in the angle_style table command. Let Ntable = N in the angle_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as needed to generate energy and force values at Ntable different points. The resulting tables of length Ntable are then used as described above, when computing energy and force for individual angles. This means that if you want the interpolation tables of length Ntable to match exactly what is in the tabulated file (with effectively no preliminary interpolation), you should set Ntable = Nfile.

The "FP" parameter is optional. If used, it is followed by two values fplo and fphi, which are the derivatives of the force at the innermost and outermost angle settings. These values are needed by the spline construction routines. If not specified by the "FP" parameter, they are estimated (less accurately) by the first two and last two force values in the table.

The "EQ" parameter is also optional. If used, it is followed by a the equilibrium angle value, which is used, for example, by the fix shake command. If not used, the equilibrium angle is set to 180.0.

Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is the angle value (in degrees), the 3rd value is the energy (in energy units), and the 4th is the force (in force units). The angle values must increase from one line to the next.

Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword.

Restrictions:

This angle style can only be used if LAMMPS was built with the "molecular" package (which it is by default). See the Making LAMMPS section for more info on packages.

Related commands:

angle_coeff

Default: none