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, The {pstyle} argument is the name of the pair style. For example,
{pstyle} could be specified as "lj/cut". The {pparam} argument is the {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 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 doc pages for individual pair styles and their energy formulas for
the meaning of these parameters: the meaning of these parameters:
"born"_pair_born.html: a,b,c: type pairs: "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"_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: aparm,cparm: type pairs:
"buck/mdf"_pair_mdf.html: a,c: type pairs:
"coul/cut"_pair_coul.html: scale: type pairs: "coul/cut"_pair_coul.html: scale: type pairs:
"coul/cut/soft"_pair_lj_soft.html: lambda: type pairs: "coul/cut/soft"_pair_lj_soft.html: lambda: type pairs:
"coul/debye"_pair_coul.html: scale: type pairs: "coul/long, coul/msm"_pair_coul.html: scale: type pairs:
"coul/dsf"_pair_coul.html: coulombic_cutoff: type global: "coul/long/soft"_pair_lj_soft.html: scale, lambda: type pairs:
"coul/long, coul/msm"_pair_coul.html: coulombic_cutoff, scale: type pairs: "eam"_pair_eam.html: 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:
"gauss"_pair_gauss.html: a: 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"_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"_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/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/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs: "lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs:
"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: 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,gamR,gamA: type pairs:
"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, morse/smooth/linear"_pair_morse.html: D0,R0,alpha: type pairs: "morse/soft"_pair_morse.html: d0,r0,alpha,lambda: 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"_pair_nm.html: E0,R0,m,n: type pairs: "nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: e0,r0,nn,mm: type pairs:
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: E0,R0,m,n,coulombic_cutoff: type pairs: "ufm"_pair_ufm.html: epsilon,sigma,scale: 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:
"soft"_pair_soft.html: a: type pairs :tb(c=3,s=:) "soft"_pair_soft.html: a: type pairs :tb(c=3,s=:)
Note that it is easy to add new potentials and their parameters to 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 this list. All it typically takes is adding an extract() method to
the pair_*.cpp file associated with the potential. the pair_*.cpp file associated with the potential.
@ -263,7 +251,7 @@ package"_Build_package.html doc page for more info.
[Related commands:] [Related commands:]
"fix adapt/fep"_fix_adapt_fep.html, "fix ave/time"_fix_ave_time.html, "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:] [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: styles and their energy formulas for the meaning of these parameters:
"born"_pair_born.html: a,b,c: type pairs: "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"_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: aparm,cparm: type pairs:
"buck/mdf"_pair_mdf.html: a,c: type pairs:
"coul/cut"_pair_coul.html: scale: type pairs: "coul/cut"_pair_coul.html: scale: type pairs:
"coul/cut/soft"_pair_lj_soft.html: lambda: type pairs: "coul/cut/soft"_pair_lj_soft.html: lambda: type pairs:
"coul/debye"_pair_coul.html: scale: type pairs: "coul/long, coul/msm"_pair_coul.html: scale: type pairs:
"coul/dsf"_pair_coul.html: coulombic_cutoff: type global: "coul/long/soft"_pair_lj_soft.html: scale, lambda: type pairs:
"coul/long, coul/msm"_pair_coul.html: coulombic_cutoff, scale: type pairs: "eam"_pair_eam.html: 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:
"gauss"_pair_gauss.html: a: 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"_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"_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/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/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs: "lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs:
"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: 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,gamR,gamA: type pairs:
"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, morse/smooth/linear"_pair_morse.html: D0,R0,alpha: type pairs: "morse/soft"_pair_morse.html: d0,r0,alpha,lambda: 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"_pair_nm.html: E0,R0,m,n: type pairs: "nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: e0,r0,nn,mm: type pairs:
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: E0,R0,m,n,coulombic_cutoff: type pairs: "ufm"_pair_ufm.html: epsilon,sigma,scale: 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:
"soft"_pair_soft.html: a: type pairs :tb(c=3,s=:) "soft"_pair_soft.html: a: type pairs :tb(c=3,s=:)
NOTE: It is easy to add new potentials and their parameters to this 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 list. All it typically takes is adding an extract() method to the
pair_*.cpp file associated with the potential. 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 Note that for many of the potentials, the parameter that can be varied
is effectively a prefactor on the entire energy expression for the is effectively a prefactor on the entire energy expression for the
potential, e.g. the lj/cut epsilon. The parameters listed as "scale" potential, e.g. the lj/cut epsilon. The parameters listed as "scale"
@ -282,7 +266,7 @@ minimization"_minimize.html.
[Related commands:] [Related commands:]
"compute fep"_compute_fep.html, "fix adapt"_fix_adapt.html, "compute "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:] [Default:]

View File

@ -99,6 +99,14 @@ cutoff distance.
:line :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 Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix. functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available 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:] [Related commands:]
"pair_coeff"_pair_coeff.html "pair_coeff"_pair_coeff.html, "pair_fep_soft"_pair_fep_soft.html
[Default:] none [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/cut/tip4p/long/soft/omp command :h3
pair_style lj/charmm/coul/long/soft command :h3 pair_style lj/charmm/coul/long/soft command :h3
pair_style lj/charmm/coul/long/soft/omp 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/cut/soft/omp command :h3
pair_style coul/long/soft command :h3 pair_style coul/long/soft command :h3
pair_style coul/long/soft/omp command :h3 pair_style coul/long/soft/omp command :h3
pair_style tip4p/long/soft command :h3 pair_style tip4p/long/soft command :h3
pair_style tip4p/long/soft/omp command :h3 pair_style tip4p/long/soft/omp command :h3
pair_style morse/soft command :h3
[Syntax:] [Syntax:]
pair_style style args :pre 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 args = list of arguments for a particular style :ul
{lj/cut/soft} args = n alpha_lj cutoff {lj/cut/soft} args = n alpha_lj cutoff
n, alpha_LJ = parameters of soft-core potential 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 n, alpha_LJ, alpha_C = parameters of the soft-core potential
inner, outer = global switching cutoffs for LJ (and Coulombic if only 5 args) 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) 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 {coul/cut/soft} args = n alpha_C cutoff
n, alpha_C = parameters of the soft-core potential n, alpha_C = parameters of the soft-core potential
cutoff = global cutoff for Coulomb interactions (distance units) 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) qdist = distance from O atom to massless charge (distance units)
n, alpha_C = parameters of the soft-core potential n, alpha_C = parameters of the soft-core potential
cutoff = global cutoff for Coulomb interactions (distance units) 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 :pre
[Examples:] [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 * * 0.28 3.1 1.0
pair_coeff 1 1 0.28 3.1 1.0 0.14 3.1 :pre 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_style coul/long/soft 1.0 10.0 9.5
pair_coeff * * 1.0 pair_coeff * * 1.0
pair_coeff 1 1 1.0 9.5 :pre 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.0
pair_coeff 1 1 1.0 9.5 :pre 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:] [Description:]
The {lj/cut/soft} style and sub-styles compute the 12/6 Lennard-Jones These pair styles have a soft repulsive core, tuneable by a parameter lambda,
and Coulomb potential modified by a soft core, in order to avoid in order to avoid singularities during free energy calculations when sites are
singularities during free energy calculations when sites are created created or annihilated "(Beutler)"_#Beutler. When lambda tends to 0 the pair
or annihilated "(Beutler)"_#Beutler, 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) :c,image(Eqs/pair_lj_soft.jpg)
Coulomb interactions are also damped with a soft core at short The {lj/class2/soft} style is a 9-6 potential with the exponent of the
distance, 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) :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 are the charges on the 2 atoms, and epsilon is the dielectric constant
which can be set by the "dielectric"_dielectric.html command. which can be set by the "dielectric"_dielectric.html command.
The coefficient lambda is an activation parameter. When lambda = 1 the The coefficient lambda is an activation parameter. When lambda = 1 the pair
pair potential is identical to a Lennard-Jones term or a Coulomb term potential is identical to a Lennard-Jones term or a Coulomb term or a
or a combination of both. When lambda = 0 the interactions are combination of both. When lambda = 0 the interactions are deactivated. The
deactivated. The transition between these two extrema is smoothed by a transition between these two extrema is smoothed by a soft repulsive core in
soft repulsive core in order to avoid singularities in potential order to avoid singularities in potential energy and forces when sites are
energy and forces when sites are created or annihilated and can overlap created or annihilated and can overlap "(Beutler)"_#Beutler.
"(Beutler)"_#Beutler.
The parameters n, alpha_LJ and alpha_C are set in the The parameters n, alpha_LJ and alpha_C are set in the
"pair_style"_pair_style.html command, before the cutoffs. Usual "pair_style"_pair_style.html command, before the cutoffs. Usual choices for the
choices for the exponent are n = 2 or n = 1. For the remaining exponent are n = 2 or n = 1. For the remaining coefficients alpha_LJ = 0.5 and
coefficients alpha_LJ = 0.5 and alpha_C = 10 Angstrom^2 are alpha_C = 10 Angstrom^2 are appropriate choices. Plots of the 12/6 LJ and
appropriate choices. Plots of the LJ and Coulomb terms are shown Coulomb terms are shown below, for lambda ranging from 1 to 0 every 0.1.
below, for lambda ranging from 1 to 0 every 0.1.
:image(JPG/lj_soft.jpg),image(JPG/coul_soft.jpg) :image(JPG/lj_soft.jpg),image(JPG/coul_soft.jpg)
:c :c
For the {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} pair styles, For the {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} pair styles, as well
the following coefficients must be defined for each pair of atoms as for the equivalent {class2} versions, the following coefficients must be
types via the "pair_coeff"_pair_coeff.html command as in the examples defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html
above, or in the data file or restart files read by the command as in the examples above, or in the data file or restart files read by
"read_data"_read_data.html or "read_restart"_read_restart.html the "read_data"_read_data.html or "read_restart"_read_restart.html commands, or
commands, or by mixing as described below: by mixing as described below:
epsilon (energy units) epsilon (energy units)
sigma (distance units) sigma (distance units)
lambda (activation parameter between 0 and 1) lambda (activation parameter, between 0 and 1)
cutoff1 (distance units) cutoff1 (distance units)
cutoff2 (distance units) :ul 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 {coul/long/soft} only lambda and the optional cutoff2 are to be
specified. specified.
Style {lj/cut/tip4p/long/soft} implements a soft-core version of the Style {lj/cut/tip4p/long/soft} implements a soft-core version of the TIP4P water
TIP4P water model. The usage of this pair style is documented in the model. The usage of the TIP4P pair style is documented in the
"pair_lj"_pair_lj.html styles. The soft-core version introduces the "pair_lj"_pair_lj.html styles. In the soft version the parameters n, alpha_LJ
lambda parameter to the list of arguments, after epsilon and sigma in and alpha_C are set in the "pair_style"_pair_style.html command, after the
the "pair_coeff"_pair_coeff.html command. The parameters n, alpha_LJ specific parameters of the TIP4P water model and before the cutoffs. The
and alpha_C are set in the "pair_style"_pair_style.html command, activation parameter lambda is supplied as an argument of the the
before the cutoffs. "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 Style {lj/charmm/coul/long/soft} implements a soft-core version of the modified
CHARMM version of LJ interactions with an additional switching 12-6 LJ potential used in CHARMM and documented in the
function S(r) that ramps the energy and force smoothly to zero between "pair_lj_charmm"_pair_charmm.html style. In the soft version the parameters n,
an inner and outer cutoff. The usage of this pair style is documented alpha_LJ and alpha_C are set in the "pair_style"_pair_style.html command, before
in the "pair_charmm"_pair_charmm.html styles. The soft-core version the global cutoffs. The activation parameter lambda is introduced as an argument
introduces the lambda parameter to the list of arguments, after of the the "pair_coeff"_pair_coeff.html command, after epsilon and sigma and
epsilon and sigma in the "pair_coeff"_pair_coeff.html command (and before the optional eps14 and sigma14.
before the optional eps14 and sigma14). The parameters n,
alpha_LJ and alpha_C are set in the "pair_style"_pair_style.html Style {lj/class2/soft} implements a soft-core version of the 9-6 potential in
command, before the cutoffs. "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 The {coul/cut/soft}, {coul/long/soft} and {tip4p/long/soft} sub-styles
are designed to be combined with other pair potentials via the 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 the Lennard-Jones radius of another site (for example hydrogen atoms
in several water models). 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 solvers ({coul/long/soft}, {lj/cut/coul/long/soft}, etc.) in a free
energy calculation in which sites holding electrostatic charges are energy calculation in which sites holding electrostatic charges are
being created or annihilated (using "fix adapt/fep"_fix_adapt_fep.html 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 overlap of the charges. Examples are provided in the LAMMPS source
directory tree, under examples/USER/fep. 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 :line
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are 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]: [Mixing, shift, tail correction, restart info]:
For atom type pairs I,J and I != J, the epsilon and sigma coefficients The different versions of the {lj/cut/soft} pair styles support mixing. For atom
and cutoff distance for this pair style can be mixed. type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff
The default mix value is {geometric}. See the "pair_modify" command distance for these pair style can be mixed. The default mix value is
for details. {geometric} for 12-6 styles.
These pair styles support the "pair_modify"_pair_modify.html shift The mixing rule for epsilon and sigma for {lj/class2/soft} 9-6 potentials is to use the
option for the energy of the Lennard-Jones portion of the pair {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. interaction.
These pair styles support the "pair_modify"_pair_modify.html tail The different versions of the {lj/cut/soft} pair styles support the
option for adding a long-range tail correction to the energy and "pair_modify"_pair_modify.html tail option for adding a long-range tail
pressure for the Lennard-Jones portion of the pair interaction. correction to the energy and pressure for the Lennard-Jones portion of the pair
interaction.
These pair styles write information to "binary restart NOTE: The analytical form of the tail corrections for energy and pressure used
files"_restart.html, so pair_style and pair_coeff commands do not need in the {lj/cut/soft} potentials are approximate, being identical to that of the
to be specified in an input script that reads a restart file. 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 :line
[Restrictions:] [Restrictions:]
To avoid division by zero do not set sigma = 0; use the lambda The pair styles with soft core are only enabled if LAMMPS was built with the
parameter instead to activate/deactivate interactions, or use USER-FEP package. The {long} versions also require the KSPACE package to be
epsilon = 0 and sigma = 1. Alternatively, when sites do not installed. The soft {tip4p} versions also require the MOLECULE package to be
interact though the Lennard-Jones term the {coul/long/soft} or installed. These styles are only enabled if LAMMPS was built with those
similar sub-style can be used via the packages. See the "Build package"_Build_package.html doc page for more
"pair_style hybrid/overlay"_pair_hybrid.html command. info. Note that the KSPACE and MOLECULE packages are installed by default.
: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.
[Related commands:] [Related commands:]

View File

@ -260,6 +260,14 @@ pair_style command.
:line :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 Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix. functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available They have been optimized to run faster, depending on your available

View File

@ -154,6 +154,14 @@ specified in the pair_style command.
:line :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 Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix. functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available 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/opt command :h3
pair_style morse/smooth/linear command :h3 pair_style morse/smooth/linear command :h3
pair_style morse/smooth/linear/omp command :h3 pair_style morse/smooth/linear/omp command :h3
pair_style morse/soft command :h3
pair_style morse/kk command :h3 pair_style morse/kk command :h3
[Syntax:] [Syntax:]
@ -25,10 +24,6 @@ args = list of arguments for a particular style :ul
cutoff = global cutoff for Morse interactions (distance units) cutoff = global cutoff for Morse interactions (distance units)
{morse/smooth/linear} args = cutoff {morse/smooth/linear} args = cutoff
cutoff = global cutoff for Morse interactions (distance units) 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 :pre
[Examples:] [Examples:]
@ -38,10 +33,6 @@ pair_style morse/smooth/linear 2.5
pair_coeff * * 100.0 2.0 1.5 pair_coeff * * 100.0 2.0 1.5
pair_coeff 1 1 100.0 2.0 1.5 3.0 :pre 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:] [Description:]
Style {morse} computes pairwise interactions with the formula Style {morse} computes pairwise interactions with the formula
@ -77,24 +68,11 @@ the {morse} and {morse/smooth/linear} styles.
:line :line
The {morse/soft} variant is similar to the {lj/cut/soft} pair style A version of the {morse} style with a soft core, {morse/soft}, suitable for use in
in that it modifies the potential at short range to have a soft core. free energy calculations, is part of the USER-FEP package and is documented with
This helps to avoid singularities during free energy calculation in the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is only
which sites are created or annihilated. The formula differs from that available if LAMMPS was built with that package. See the "Build
of {lj/cut/soft}, and is instead given by: package"_Build_package.html doc page for more info.
: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.
:line :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 built with the USER-MISC package. See the "Build
package"_Build_package.html doc page for more info. 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:] [Related commands:]
"pair_coeff"_pair_coeff.html "pair_coeff"_pair_coeff.html, "pair_fep_soft"_pair_fep_soft.html
[Default:] none [Default:] none