Merge branch 'core_soft' of https://github.com/agiliopadua/lammps into combined-user-fep-soft-updates

Resolved Conflicts:
	doc/src/compute_fep.txt
	doc/src/fix_adapt_fep.txt
This commit is contained in:
Axel Kohlmeyer 2019-01-24 15:41:41 +01:00
commit a6ecd3d08c
7 changed files with 219 additions and 167 deletions

View File

@ -128,52 +128,40 @@ commands to be changed, if the pair style supports it.
The {pstyle} argument is the name of the pair style. For example,
{pstyle} could be specified as "lj/cut". The {pparam} argument is the
name of the parameter to change. This is a (non-exclusive) list of
name of the parameter to change. This is a list of
pair styles and parameters that can be used with this compute. See
the doc pages for individual pair styles and their energy formulas for
the meaning of these parameters:
"born"_pair_born.html: a,b,c: type pairs:
"born/coul/long, born/coul/msm"_pair_born.html: coulombic_cutoff: type global:
"buck"_pair_buck.html: a,c: type pairs:
"buck/coul/long, buck/coul/msm"_pair_buck.html: coulombic_cutoff: type global:
"buck/mdf"_pair_mdf.html: a,c: type pairs:
"buck/mdf"_pair_mdf.html: aparm,cparm: type pairs:
"coul/cut"_pair_coul.html: scale: type pairs:
"coul/cut/soft"_pair_lj_soft.html: lambda: type pairs:
"coul/debye"_pair_coul.html: scale: type pairs:
"coul/dsf"_pair_coul.html: coulombic_cutoff: type global:
"coul/long, coul/msm"_pair_coul.html: coulombic_cutoff, scale: type pairs:
"coul/long/soft"_pair_lj_soft.html: scale, lambda, coulombic_cutoff: type pairs:
"eam, eam/alloy, eam/fs"_pair_eam.html: scale: type pairs:
"coul/long, coul/msm"_pair_coul.html: scale: type pairs:
"coul/long/soft"_pair_lj_soft.html: scale, lambda: type pairs:
"eam"_pair_eam.html: scale: type pairs:
"gauss"_pair_gauss.html: a: type pairs:
"lennard/mdf"_pair_mdf.html: A,B: type pairs:
"lennard/mdf"_pair_mdf.html: aparm,bparm: type pairs:
"lj/class2"_pair_class2.html: epsilon,sigma: type pairs:
"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma,coulombic_cutoff: type pairs:
"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma: type pairs:
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma,coulombic_cutoff: type pairs:
"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda,coulombic_cutoff: type pairs:
"lj/cut/coul/dsf"_pair_lj.html: cutoff: type global:
"lj/cut/tip4p/cut"_pair_lj.html: epsilon,sigma,coulombic_cutoff: type pairs:
"lj/cut/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
"lj/cut/tip4p/cut, lj/cut/tip4p/long"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/tip4p/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs:
"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: type pairs:
"lubricate"_pair_lubricate.html: mu: global:
"mie/cut"_pair_mie.html: epsilon,sigma,gamma_repulsive,gamma_attractive: type pairs:
"morse, morse/smooth/linear"_pair_morse.html: D0,R0,alpha: type pairs:
"morse/soft"_pair_morse.html: D0,R0,alpha,lambda: type pairs:
"nm/cut"_pair_nm.html: E0,R0,m,n: type pairs:
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: E0,R0,m,n,coulombic_cutoff: type pairs:
"reax/c"_pair_reaxc.html: chi, eta, gamma: type global:
"spin/dmi"_pair_spin_dmi.html: coulombic_cutoff: type global:
"spin/exchange"_pair_spin_exchange.html: coulombic_cutoff: type global:
"spin/magelec"_pair_spin_magelec.html: coulombic_cutoff: type global:
"spin/neel"_pair_spin_neel.html: coulombic_cutoff: type global:
"table"_pair_table.html: table_cutoff: type pairs:
"ufm"_pair_ufm.html: epsilon,sigma: type pairs:
"mie/cut"_pair_mie.html: epsilon,sigma,gamR,gamA: type pairs:
"morse, morse/smooth/linear"_pair_morse.html: d0,r0,alpha: type pairs:
"morse/soft"_pair_morse.html: d0,r0,alpha,lambda: type pairs:
"nm/cut"_pair_nm.html: e0,r0,nn,mm: type pairs:
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: e0,r0,nn,mm: type pairs:
"ufm"_pair_ufm.html: epsilon,sigma,scale: type pairs:
"soft"_pair_soft.html: a: type pairs :tb(c=3,s=:)
Note that it is easy to add new potentials and their parameters to
this list. All it typically takes is adding an extract() method to
the pair_*.cpp file associated with the potential.
@ -263,7 +251,7 @@ package"_Build_package.html doc page for more info.
[Related commands:]
"fix adapt/fep"_fix_adapt_fep.html, "fix ave/time"_fix_ave_time.html,
"pair_style lj/soft/coul/soft"_pair_lj_soft.html
"pair_fep_soft"_pair_fep_soft.html
[Default:]

View File

@ -113,54 +113,38 @@ can be varied by this fix. See the doc pages for individual pair
styles and their energy formulas for the meaning of these parameters:
"born"_pair_born.html: a,b,c: type pairs:
"born/coul/long, born/coul/msm"_pair_born.html: coulombic_cutoff: type global:
"buck"_pair_buck.html: a,c: type pairs:
"buck/coul/long, buck/coul/msm"_pair_buck.html: coulombic_cutoff: type global:
"buck/mdf"_pair_mdf.html: a,c: type pairs:
"buck/mdf"_pair_mdf.html: aparm,cparm: type pairs:
"coul/cut"_pair_coul.html: scale: type pairs:
"coul/cut/soft"_pair_lj_soft.html: lambda: type pairs:
"coul/debye"_pair_coul.html: scale: type pairs:
"coul/dsf"_pair_coul.html: coulombic_cutoff: type global:
"coul/long, coul/msm"_pair_coul.html: coulombic_cutoff, scale: type pairs:
"coul/long/soft"_pair_lj_soft.html: scale, lambda, coulombic_cutoff: type pairs:
"eam, eam/alloy, eam/fs"_pair_eam.html: scale: type pairs:
"coul/long, coul/msm"_pair_coul.html: scale: type pairs:
"coul/long/soft"_pair_lj_soft.html: scale, lambda: type pairs:
"eam"_pair_eam.html: scale: type pairs:
"gauss"_pair_gauss.html: a: type pairs:
"lennard/mdf"_pair_mdf.html: A,B: type pairs:
"lennard/mdf"_pair_mdf.html: aparm,bparm: type pairs:
"lj/class2"_pair_class2.html: epsilon,sigma: type pairs:
"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma,coulombic_cutoff: type pairs:
"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma: type pairs:
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma,coulombic_cutoff: type pairs:
"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda,coulombic_cutoff: type pairs:
"lj/cut/coul/dsf"_pair_lj.html: cutoff: type global:
"lj/cut/tip4p/cut"_pair_lj.html: epsilon,sigma,coulombic_cutoff: type pairs:
"lj/cut/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
"lj/cut/tip4p/cut, lj/cut/tip4p/long"_pair_lj.html: epsilon,sigma: type pairs:
"lj/cut/tip4p/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs:
"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: type pairs:
"lubricate"_pair_lubricate.html: mu: global:
"mie/cut"_pair_mie.html: epsilon,sigma,gamma_repulsive,gamma_attractive: type pairs:
"morse, morse/smooth/linear"_pair_morse.html: D0,R0,alpha: type pairs:
"morse/soft"_pair_morse.html: D0,R0,alpha,lambda: type pairs:
"nm/cut"_pair_nm.html: E0,R0,m,n: type pairs:
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: E0,R0,m,n,coulombic_cutoff: type pairs:
"reax/c"_pair_reaxc.html: chi, eta, gamma: type global:
"spin/dmi"_pair_spin_dmi.html: coulombic_cutoff: type global:
"spin/exchange"_pair_spin_exchange.html: coulombic_cutoff: type global:
"spin/magelec"_pair_spin_magelec.html: coulombic_cutoff: type global:
"spin/neel"_pair_spin_neel.html: coulombic_cutoff: type global:
"table"_pair_table.html: table_cutoff: type pairs:
"ufm"_pair_ufm.html: epsilon,sigma: type pairs:
"mie/cut"_pair_mie.html: epsilon,sigma,gamR,gamA: type pairs:
"morse, morse/smooth/linear"_pair_morse.html: d0,r0,alpha: type pairs:
"morse/soft"_pair_morse.html: d0,r0,alpha,lambda: type pairs:
"nm/cut"_pair_nm.html: e0,r0,nn,mm: type pairs:
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: e0,r0,nn,mm: type pairs:
"ufm"_pair_ufm.html: epsilon,sigma,scale: type pairs:
"soft"_pair_soft.html: a: type pairs :tb(c=3,s=:)
NOTE: It is easy to add new potentials and their parameters to this
list. All it typically takes is adding an extract() method to the
pair_*.cpp file associated with the potential.
Some parameters are global settings for the pair style, e.g. the
viscosity setting "mu" for "pair_style lubricate"_pair_lubricate.html.
Other parameters apply to atom type pairs within the pair style,
e.g. the prefactor "a" for "pair_style soft"_pair_soft.html.
Note that for many of the potentials, the parameter that can be varied
is effectively a prefactor on the entire energy expression for the
potential, e.g. the lj/cut epsilon. The parameters listed as "scale"
@ -282,7 +266,7 @@ minimization"_minimize.html.
[Related commands:]
"compute fep"_compute_fep.html, "fix adapt"_fix_adapt.html, "compute
ti"_compute_ti.html
ti"_compute_ti.html, "pair_fep_soft"_pair_fep_soft.html
[Default:]

View File

@ -99,6 +99,14 @@ cutoff distance.
:line
A version of these styles with a soft core, {lj/cut/soft}, suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with
the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is
only available if LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info.
:line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
@ -159,7 +167,7 @@ package"_Build_package.html doc page for more info.
[Related commands:]
"pair_coeff"_pair_coeff.html
"pair_coeff"_pair_coeff.html, "pair_fep_soft"_pair_fep_soft.html
[Default:] none

View File

@ -16,18 +16,21 @@ pair_style lj/cut/tip4p/long/soft command :h3
pair_style lj/cut/tip4p/long/soft/omp command :h3
pair_style lj/charmm/coul/long/soft command :h3
pair_style lj/charmm/coul/long/soft/omp command :h3
pair_style coul/cut/soft command :h3
pair_style lj/class2/soft command :h3
pair_style lj/class2/coul/cut/soft command :h3
pair_style lj/class2/coul/long/soft command :h3
pair_style coul/cut/soft command :h3
pair_style coul/cut/soft/omp command :h3
pair_style coul/long/soft command :h3
pair_style coul/long/soft/omp command :h3
pair_style tip4p/long/soft command :h3
pair_style tip4p/long/soft/omp command :h3
pair_style morse/soft command :h3
[Syntax:]
pair_style style args :pre
style = {lj/cut/soft} or {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} or {lj/cut/tip4p/long/soft} or {lj/charmm/coul/long/soft} or {coul/cut/soft} or {coul/long/soft} or {tip4p/long/soft}
style = {lj/cut/soft} or {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} or {lj/cut/tip4p/long/soft} or {lj/charmm/coul/long/soft} or {lj/class2/soft} or {lj/class2/coul/cut/soft} or {lj/class2/coul/long/soft} or {coul/cut/soft} or {coul/long/soft} or {tip4p/long/soft} or {morse/soft}
args = list of arguments for a particular style :ul
{lj/cut/soft} args = n alpha_lj cutoff
n, alpha_LJ = parameters of soft-core potential
@ -51,6 +54,17 @@ args = list of arguments for a particular style :ul
n, alpha_LJ, alpha_C = parameters of the soft-core potential
inner, outer = global switching cutoffs for LJ (and Coulombic if only 5 args)
cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 5 args)
{lj/class2/soft} args = n alpha_lj cutoff
n, alpha_LJ = parameters of soft-core potential
cutoff = global cutoff for Lennard-Jones interactions (distance units)
{lj/class2/coul/cut/soft} args = n alpha_LJ alpha_C cutoff (cutoff2)
n, alpha_LJ, alpha_C = parameters of soft-core potential
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
cutoff2 = global cutoff for Coulombic (optional) (distance units)
{lj/class2/coul/long/soft} args = n alpha_LJ alpha_C cutoff (cutoff2)
n, alpha_LJ, alpha_C = parameters of soft-core potential
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
cutoff2 = global cutoff for Coulombic (optional) (distance units)
{coul/cut/soft} args = n alpha_C cutoff
n, alpha_C = parameters of the soft-core potential
cutoff = global cutoff for Coulomb interactions (distance units)
@ -63,6 +77,10 @@ args = list of arguments for a particular style :ul
qdist = distance from O atom to massless charge (distance units)
n, alpha_C = parameters of the soft-core potential
cutoff = global cutoff for Coulomb interactions (distance units)
{morse/soft} args = n lf cutoff
n = soft-core parameter
lf = transformation range is lf < lambda < 1
cutoff = global cutoff for Morse interactions (distance units)
:pre
[Examples:]
@ -93,6 +111,12 @@ pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0 9.0
pair_coeff * * 0.28 3.1 1.0
pair_coeff 1 1 0.28 3.1 1.0 0.14 3.1 :pre
pair_style lj/class2/coul/long/soft 2.0 0.5 10.0 9.5
pair_style lj/class2/coul/long/soft 2.0 0.5 10.0 9.5 9.5
pair_coeff * * 0.28 3.1 1.0
pair_coeff 1 1 0.28 3.1 0.0 10.0
pair_coeff 1 1 0.28 3.1 0.0 10.0 9.5 :pre
pair_style coul/long/soft 1.0 10.0 9.5
pair_coeff * * 1.0
pair_coeff 1 1 1.0 9.5 :pre
@ -101,17 +125,31 @@ pair_style tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8
pair_coeff * * 1.0
pair_coeff 1 1 1.0 9.5 :pre
pair_style morse/soft 4 0.9 10.0
pair_coeff * * 100.0 2.0 1.5 1.0
pair_coeff 1 1 100.0 2.0 1.5 1.0 3.0 :pre
[Description:]
The {lj/cut/soft} style and sub-styles compute the 12/6 Lennard-Jones
and Coulomb potential modified by a soft core, in order to avoid
singularities during free energy calculations when sites are created
or annihilated "(Beutler)"_#Beutler,
These pair styles have a soft repulsive core, tuneable by a parameter lambda,
in order to avoid singularities during free energy calculations when sites are
created or annihilated "(Beutler)"_#Beutler. When lambda tends to 0 the pair
interaction vanishes with a soft repulsive core. When lambda tends to 1, the pair
interaction approaches the normal, non-soft potential. These pair styles
are suited for "alchemical" free energy calculations using the "fix
adapt/fep"_fix_adapt_fep.html and "compute fep"_compute_fep.html commands.
The {lj/cut/soft} style and related sub-styles compute the 12-6 Lennard-Jones
and Coulomb potentials modified by a soft core, with the functional form
:c,image(Eqs/pair_lj_soft.jpg)
Coulomb interactions are also damped with a soft core at short
distance,
The {lj/class2/soft} style is a 9-6 potential with the exponent of the
denominator of the first term in brackets taking the value 1.5 instead of 2
(other details differ, see the form of the potential in
"pair_class2"_pair_class2.html).
Coulomb interactions can also be damped with a soft core at short distance,
:c,image(Eqs/pair_coul_soft.jpg)
@ -119,34 +157,32 @@ In the Coulomb part C is an energy-conversion constant, q_i and q_j
are the charges on the 2 atoms, and epsilon is the dielectric constant
which can be set by the "dielectric"_dielectric.html command.
The coefficient lambda is an activation parameter. When lambda = 1 the
pair potential is identical to a Lennard-Jones term or a Coulomb term
or a combination of both. When lambda = 0 the interactions are
deactivated. The transition between these two extrema is smoothed by a
soft repulsive core in order to avoid singularities in potential
energy and forces when sites are created or annihilated and can overlap
"(Beutler)"_#Beutler.
The coefficient lambda is an activation parameter. When lambda = 1 the pair
potential is identical to a Lennard-Jones term or a Coulomb term or a
combination of both. When lambda = 0 the interactions are deactivated. The
transition between these two extrema is smoothed by a soft repulsive core in
order to avoid singularities in potential energy and forces when sites are
created or annihilated and can overlap "(Beutler)"_#Beutler.
The parameters n, alpha_LJ and alpha_C are set in the
"pair_style"_pair_style.html command, before the cutoffs. Usual
choices for the exponent are n = 2 or n = 1. For the remaining
coefficients alpha_LJ = 0.5 and alpha_C = 10 Angstrom^2 are
appropriate choices. Plots of the LJ and Coulomb terms are shown
below, for lambda ranging from 1 to 0 every 0.1.
"pair_style"_pair_style.html command, before the cutoffs. Usual choices for the
exponent are n = 2 or n = 1. For the remaining coefficients alpha_LJ = 0.5 and
alpha_C = 10 Angstrom^2 are appropriate choices. Plots of the 12/6 LJ and
Coulomb terms are shown below, for lambda ranging from 1 to 0 every 0.1.
:image(JPG/lj_soft.jpg),image(JPG/coul_soft.jpg)
:c
For the {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} pair styles,
the following coefficients must be defined for each pair of atoms
types via the "pair_coeff"_pair_coeff.html command as in the examples
above, or in the data file or restart files read by the
"read_data"_read_data.html or "read_restart"_read_restart.html
commands, or by mixing as described below:
For the {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} pair styles, as well
as for the equivalent {class2} versions, the following coefficients must be
defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html
command as in the examples above, or in the data file or restart files read by
the "read_data"_read_data.html or "read_restart"_read_restart.html commands, or
by mixing as described below:
epsilon (energy units)
sigma (distance units)
lambda (activation parameter between 0 and 1)
lambda (activation parameter, between 0 and 1)
cutoff1 (distance units)
cutoff2 (distance units) :ul
@ -160,24 +196,29 @@ since it has no Coulombic terms. For the {coul/cut/soft} and
{coul/long/soft} only lambda and the optional cutoff2 are to be
specified.
Style {lj/cut/tip4p/long/soft} implements a soft-core version of the
TIP4P water model. The usage of this pair style is documented in the
"pair_lj"_pair_lj.html styles. The soft-core version introduces the
lambda parameter to the list of arguments, after epsilon and sigma in
the "pair_coeff"_pair_coeff.html command. The parameters n, alpha_LJ
and alpha_C are set in the "pair_style"_pair_style.html command,
before the cutoffs.
Style {lj/cut/tip4p/long/soft} implements a soft-core version of the TIP4P water
model. The usage of the TIP4P pair style is documented in the
"pair_lj"_pair_lj.html styles. In the soft version the parameters n, alpha_LJ
and alpha_C are set in the "pair_style"_pair_style.html command, after the
specific parameters of the TIP4P water model and before the cutoffs. The
activation parameter lambda is supplied as an argument of the the
"pair_coeff"_pair_coeff.html command, after epsilon and sigma and before the
optional cutoffs.
Style {lj/charmm/coul/long/soft} implements a soft-core version of the
CHARMM version of LJ interactions with an additional switching
function S(r) that ramps the energy and force smoothly to zero between
an inner and outer cutoff. The usage of this pair style is documented
in the "pair_charmm"_pair_charmm.html styles. The soft-core version
introduces the lambda parameter to the list of arguments, after
epsilon and sigma in the "pair_coeff"_pair_coeff.html command (and
before the optional eps14 and sigma14). The parameters n,
alpha_LJ and alpha_C are set in the "pair_style"_pair_style.html
command, before the cutoffs.
Style {lj/charmm/coul/long/soft} implements a soft-core version of the modified
12-6 LJ potential used in CHARMM and documented in the
"pair_lj_charmm"_pair_charmm.html style. In the soft version the parameters n,
alpha_LJ and alpha_C are set in the "pair_style"_pair_style.html command, before
the global cutoffs. The activation parameter lambda is introduced as an argument
of the the "pair_coeff"_pair_coeff.html command, after epsilon and sigma and
before the optional eps14 and sigma14.
Style {lj/class2/soft} implements a soft-core version of the 9-6 potential in
"pair_class2"_pair_class2.html. In the soft version the parameters n, alpha_LJ
and alpha_C are set in the "pair_style"_pair_style.html command, before the
global cutoffs. The activation parameter lambda is introduced as an argument of
the the "pair_coeff"_pair_coeff.html command, after epsilon and sigma and before
the optional cutoffs.
The {coul/cut/soft}, {coul/long/soft} and {tip4p/long/soft} sub-styles
are designed to be combined with other pair potentials via the
@ -189,7 +230,7 @@ occur. These sub-styles are suitable to represent charges embedded in
the Lennard-Jones radius of another site (for example hydrogen atoms
in several water models).
NOTES: When using the soft-core Coulomb potentials with long-range
NOTE: When using the soft-core Coulomb potentials with long-range
solvers ({coul/long/soft}, {lj/cut/coul/long/soft}, etc.) in a free
energy calculation in which sites holding electrostatic charges are
being created or annihilated (using "fix adapt/fep"_fix_adapt_fep.html
@ -202,6 +243,31 @@ Waals site is present during the free-energy route, thus avoiding
overlap of the charges. Examples are provided in the LAMMPS source
directory tree, under examples/USER/fep.
NOTE: To avoid division by zero do not set sigma = 0 in the {lj/cut/soft} and
related styles; use the lambda parameter instead to activate/deactivate
interactions, or use epsilon = 0 and sigma = 1. Alternatively, when sites do not
interact though the Lennard-Jones term the {coul/long/soft} or similar sub-style
can be used via the "pair_style hybrid/overlay"_pair_hybrid.html command.
:line
The {morse/soft} variant modifies the "pair_morse"_pair_morse.html style at
short range to have a soft core. The functional form differs from that of the
{lj/soft} styles, and is instead given by:
:c,image(Eqs/pair_morse_soft.jpg)
The {morse/soft} style requires the following pair coefficients:
D0 (energy units)
alpha (1/distance units)
r0 (distance units)
lambda (unitless, between 0.0 and 1.0)
cutoff (distance units) :ul
The last coefficient is optional. If not specified, the global morse cutoff is
used.
:line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
@ -228,40 +294,56 @@ instructions on how to use the accelerated styles effectively.
[Mixing, shift, tail correction, restart info]:
For atom type pairs I,J and I != J, the epsilon and sigma coefficients
and cutoff distance for this pair style can be mixed.
The default mix value is {geometric}. See the "pair_modify" command
for details.
The different versions of the {lj/cut/soft} pair styles support mixing. For atom
type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff
distance for these pair style can be mixed. The default mix value is
{geometric} for 12-6 styles.
These pair styles support the "pair_modify"_pair_modify.html shift
option for the energy of the Lennard-Jones portion of the pair
The mixing rule for epsilon and sigma for {lj/class2/soft} 9-6 potentials is to use the
{sixthpower} formulas. The "pair_modify mix"_pair_modify.html setting is thus
ignored for class2 potentials for epsilon and sigma. However it is still
followed for mixing the cutoff distance. See the "pair_modify"_pair_modify.html
command for details.
The {morse/soft} pair style does not support mixing. Thus, coefficients for all
LJ pairs must be specified explicitly.
All of the pair styles with soft core support the "pair_modify"_pair_modify.html
shift option for the energy of the Lennard-Jones portion of the pair
interaction.
These pair styles support the "pair_modify"_pair_modify.html tail
option for adding a long-range tail correction to the energy and
pressure for the Lennard-Jones portion of the pair interaction.
The different versions of the {lj/cut/soft} pair styles support the
"pair_modify"_pair_modify.html tail option for adding a long-range tail
correction to the energy and pressure for the Lennard-Jones portion of the pair
interaction.
These pair styles write information to "binary restart
files"_restart.html, so pair_style and pair_coeff commands do not need
to be specified in an input script that reads a restart file.
NOTE: The analytical form of the tail corrections for energy and pressure used
in the {lj/cut/soft} potentials are approximate, being identical to that of the
corresponding non-soft potentials scaled by a factor lambda^n. For real-space
cutoffs greater than 2.5 sigma and alpha_LJ = 0.5, the error affecting the tail
correction is below 0.2% when lambda = 0 (worse case). This error disappears as
lambda approaches 1. Note that this is the error affecting the long-range tail
(itself a correction to the interaction energy) which includes other
approximations, namely that the system is homogenous (local density equal the
average density) beyond the cutoff.
The {morse/soft} pair style does not support the "pair_modify"_pair_modify.html
tail option for adding long-range tail corrections to energy and pressure.
All of these pair styles write information to "binary restart
files"_restart.html, so pair_style and pair_coeff commands do not need to be
specified in an input script that reads a restart file.
:line
[Restrictions:]
To avoid division by zero do not set sigma = 0; use the lambda
parameter instead to activate/deactivate interactions, or use
epsilon = 0 and sigma = 1. Alternatively, when sites do not
interact though the Lennard-Jones term the {coul/long/soft} or
similar sub-style can be used via the
"pair_style hybrid/overlay"_pair_hybrid.html command.
:line
All of the plain {soft} pair styles are part of the USER-FEP package.
The {long} styles also requires the KSPACE package to be installed.
They are only enabled if LAMMPS was built with those packages. See
the "Build package"_Build_package.html doc page for more info.
The pair styles with soft core are only enabled if LAMMPS was built with the
USER-FEP package. The {long} versions also require the KSPACE package to be
installed. The soft {tip4p} versions also require the MOLECULE package to be
installed. These styles are only enabled if LAMMPS was built with those
packages. See the "Build package"_Build_package.html doc page for more
info. Note that the KSPACE and MOLECULE packages are installed by default.
[Related commands:]

View File

@ -260,6 +260,14 @@ pair_style command.
:line
A version of these styles with a soft core, {lj/cut/soft}, suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with
the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is
only available if LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info.
:line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available

View File

@ -154,6 +154,14 @@ specified in the pair_style command.
:line
A version of these styles with a soft core, {lj/cut/soft}, suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with
the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is
only available if LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info.
:line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available

View File

@ -12,7 +12,6 @@ pair_style morse/omp command :h3
pair_style morse/opt command :h3
pair_style morse/smooth/linear command :h3
pair_style morse/smooth/linear/omp command :h3
pair_style morse/soft command :h3
pair_style morse/kk command :h3
[Syntax:]
@ -25,10 +24,6 @@ args = list of arguments for a particular style :ul
cutoff = global cutoff for Morse interactions (distance units)
{morse/smooth/linear} args = cutoff
cutoff = global cutoff for Morse interactions (distance units)
{morse/soft} args = n lf cutoff
n = soft-core parameter
lf = transformation range is lf < lambda < 1
cutoff = global cutoff for Morse interactions (distance units)
:pre
[Examples:]
@ -38,10 +33,6 @@ pair_style morse/smooth/linear 2.5
pair_coeff * * 100.0 2.0 1.5
pair_coeff 1 1 100.0 2.0 1.5 3.0 :pre
pair_style morse/soft 4 0.9 10.0
pair_coeff * * 100.0 2.0 1.5 1.0
pair_coeff 1 1 100.0 2.0 1.5 1.0 3.0 :pre
[Description:]
Style {morse} computes pairwise interactions with the formula
@ -77,24 +68,11 @@ the {morse} and {morse/smooth/linear} styles.
:line
The {morse/soft} variant is similar to the {lj/cut/soft} pair style
in that it modifies the potential at short range to have a soft core.
This helps to avoid singularities during free energy calculation in
which sites are created or annihilated. The formula differs from that
of {lj/cut/soft}, and is instead given by:
:c,image(Eqs/pair_morse_soft.jpg)
The {morse/soft} style requires the following pair coefficients:
D0 (energy units)
alpha (1/distance units)
r0 (distance units)
lamda (unitless, between 0.0 and 1.0)
cutoff (distance units) :ul
The last coefficient is optional. If not specified, the global morse
cutoff is used.
A version of the {morse} style with a soft core, {morse/soft}, suitable for use in
free energy calculations, is part of the USER-FEP package and is documented with
the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is only
available if LAMMPS was built with that package. See the "Build
package"_Build_package.html doc page for more info.
:line
@ -151,12 +129,8 @@ The {morse/smooth/linear} pair style is only enabled if LAMMPS was
built with the USER-MISC package. See the "Build
package"_Build_package.html doc page for more info.
The {morse/soft} pair style is only enabled if LAMMPS was built with
the USER-FEP package. See the "Build package"_Build_package.html doc
page for more info.
[Related commands:]
"pair_coeff"_pair_coeff.html
"pair_coeff"_pair_coeff.html, "pair_fep_soft"_pair_fep_soft.html
[Default:] none