forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15097 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
a1d64b989e
commit
126ae910b8
|
@ -54,14 +54,14 @@ thermodynamic integration (FDTI) or Bennet's acceptance ratio method
|
|||
|
||||
The potential energy of the system is decomposed in three terms: a
|
||||
background term corresponding to interaction sites whose parameters
|
||||
remain constant, a reference term {U}<sub>0</sub> corresponding to the
|
||||
remain constant, a reference term \(U_0\) corresponding to the
|
||||
initial interactions of the atoms that will undergo perturbation, and
|
||||
a term {U}<sub>1</sub> corresponding to the final interactions of
|
||||
a term \(U_1\) corresponding to the final interactions of
|
||||
these atoms:
|
||||
|
||||
:c,image(Eqs/compute_fep_u.jpg)
|
||||
|
||||
A coupling parameter λ varying from 0 to 1 connects the
|
||||
A coupling parameter \(\lambda\) varying from 0 to 1 connects the
|
||||
reference and perturbed systems:
|
||||
|
||||
:c,image(Eqs/compute_fep_lambda.jpg)
|
||||
|
@ -70,7 +70,7 @@ It is possible but not necessary that the coupling parameter (or a
|
|||
function thereof) appears as a multiplication factor of the potential
|
||||
energy. Therefore, this compute can apply perturbations to interaction
|
||||
parameters that are not directly proportional to the potential energy
|
||||
(e.g. σ in Lennard-Jones potentials).
|
||||
(e.g. \(\sigma\) in Lennard-Jones potentials).
|
||||
|
||||
This command can be combined with "fix adapt"_fix_adapt.html to
|
||||
perform multistage free-energy perturbation calculations along
|
||||
|
@ -81,25 +81,25 @@ stepwise alchemical transformations during a simulation run:
|
|||
This compute is suitable for the finite-difference thermodynamic
|
||||
integration (FDTI) method "(Mezei)"_#Mezei, which is based on an
|
||||
evaluation of the numerical derivative of the free energy by a
|
||||
perturbation method using a very small δ:
|
||||
perturbation method using a very small \(\delta\):
|
||||
|
||||
:c,image(Eqs/compute_fep_fdti.jpg)
|
||||
|
||||
where {w}<sub>i</sub> are weights of a numerical quadrature. The "fix
|
||||
where \(w_i\) are weights of a numerical quadrature. The "fix
|
||||
adapt"_fix_adapt.html command can be used to define the stages of
|
||||
λ at which the derivative is calculated and averaged.
|
||||
\(\lambda\) at which the derivative is calculated and averaged.
|
||||
|
||||
The compute fep calculates the exponential Boltzmann term and also the
|
||||
potential energy difference {U}<sub>1</sub>-{U}<sub>0</sub>. By
|
||||
choosing a very small perturbation δ the thermodynamic
|
||||
potential energy difference \(U_1 -U_0\). By
|
||||
choosing a very small perturbation \(\delta\) the thermodynamic
|
||||
integration method can be implemented using a numerical evaluation of
|
||||
the derivative of the potential energy with respect to λ:
|
||||
the derivative of the potential energy with respect to \(\lambda\):
|
||||
|
||||
:c,image(Eqs/compute_fep_ti.jpg)
|
||||
|
||||
Another technique to calculate free energy differences is the
|
||||
acceptance ratio method "(Bennet)"_#Bennet, which can be implemented
|
||||
by calculating the potential energy differences with δ = 1.0 on
|
||||
by calculating the potential energy differences with \(\delta\) = 1.0 on
|
||||
both the forward and reverse routes:
|
||||
|
||||
:c,image(Eqs/compute_fep_bar.jpg)
|
||||
|
@ -209,12 +209,12 @@ Tildesley)"_#AllenTildesley:
|
|||
[Output info:]
|
||||
|
||||
This compute calculates a global vector of length 3 which contains the
|
||||
energy difference ({U}<sub>1</sub>-{U}<sub>0</sub>) as c_ID\[1\], the
|
||||
Boltzmann factor exp(-({U}<sub>1</sub>-{U}<sub>0</sub>)/{kT}), or
|
||||
{V}exp(-({U}<sub>1</sub>-{U}<sub>0</sub>)/{kT}), as c_ID\[2\] and the
|
||||
volume of the simulation box {V} as c_ID\[3\]. {U}<sub>1</sub> is the
|
||||
energy difference ( \(U_1-U_0\) ) as c_ID\[1\], the
|
||||
Boltzmann factor \(\exp(-(U_1-U_0)/kT)\), or
|
||||
\(V \exp(-(U_1-U_0)/kT)\), as c_ID\[2\] and the
|
||||
volume of the simulation box \(V\) as c_ID\[3\]. \(U_1\) is the
|
||||
pair potential energy obtained with the perturbed parameters and
|
||||
{U}<sub>0</sub> is the pair potential energy obtained with the
|
||||
\(U_0\) is the pair potential energy obtained with the
|
||||
unperturbed parameters. The energies include kspace terms if these
|
||||
are used in the simulation.
|
||||
|
||||
|
|
|
@ -39,9 +39,9 @@ or {face_threshold} or {neighbors} or {peratom} :l
|
|||
compute 1 all voronoi/atom
|
||||
compute 2 precipitate voronoi/atom surface matrix
|
||||
compute 3b precipitate voronoi/atom radius v_r
|
||||
compute 4 solute voronoi/atom only_group :pre
|
||||
compute 5 defects voronoi/atom occupation :pre
|
||||
compute 6 all voronoi/atom neighbors yes
|
||||
compute 4 solute voronoi/atom only_group
|
||||
compute 5 defects voronoi/atom occupation
|
||||
compute 6 all voronoi/atom neighbors yes :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ assumes the constituent atoms are point particles); see
|
|||
No information about the {rigid} and {rigid/nve} fixes are written to
|
||||
"binary restart files"_restart.html.
|
||||
|
||||
Similar to the "fix rigid"_fix_rigid.html command: " The rigid
|
||||
Similar to the "fix rigid"_fix_rigid.html command: The rigid
|
||||
fix computes a global scalar which can be accessed by various "output
|
||||
commands"_Section_howto.html#howto_15. The scalar value calculated by
|
||||
these fixes is "intensive". The scalar is the current temperature of
|
||||
|
@ -91,9 +91,9 @@ mass of the body and v = the velocity of its center of mass. The
|
|||
rotational energy of a rigid body is 1/2 I w^2, where I = the moment
|
||||
of inertia tensor of the body and w = its angular velocity. Degrees
|
||||
of freedom constrained by the {force} and {torque} keywords are
|
||||
removed from this calculation."
|
||||
removed from this calculation.
|
||||
|
||||
"All of these fixes compute a global array of values which can be
|
||||
All of these fixes compute a global array of values which can be
|
||||
accessed by various "output commands"_Section_howto.html#howto_15.
|
||||
The number of rows in the array is equal to the number of rigid
|
||||
bodies. The number of columns is 15. Thus for each rigid body, 15
|
||||
|
@ -117,7 +117,7 @@ they are independent of the number of atoms in the simulation.
|
|||
|
||||
No parameter of these fixes can be used with the {start/stop} keywords
|
||||
of the "run"_run.html command. These fixes are not invoked during
|
||||
"energy minimization"_minimize.html. "
|
||||
"energy minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ bash:
|
|||
|
||||
Windows:
|
||||
|
||||
% set LAMMPS_POTENTIALS="C:\Path to LAMMPS\Potentials" :pre
|
||||
% set LAMMPS_POTENTIALS="C:\\Path to LAMMPS\\Potentials" :pre
|
||||
|
||||
:line
|
||||
|
||||
|
|
|
@ -12,19 +12,34 @@ 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
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style morse cutoff :pre
|
||||
pair_style style args :pre
|
||||
|
||||
cutoff = global cutoff for Morse interactions (distance units) :ul
|
||||
style = {morse} or {morse/smooth/linear} or {morse/soft}
|
||||
args = list of arguments for a particular style :ul
|
||||
{morse} args = cutoff
|
||||
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:]
|
||||
|
||||
pair_style morse 2.5
|
||||
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_coeff 1 1 100.0 2.0 1.5 3.0
|
||||
|
||||
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:]
|
||||
|
||||
|
@ -46,13 +61,13 @@ r0 (distance units)
|
|||
cutoff (distance units) :ul
|
||||
|
||||
The last coefficient is optional. If not specified, the global morse
|
||||
cutoff is used. :ul
|
||||
cutoff is used.
|
||||
|
||||
:line
|
||||
|
||||
The {smooth/linear} variant is similar to the lj/smooth/linear variant
|
||||
in that it adds to the potential a shift and a linear term to make both
|
||||
the potential energy and force go to zero at the cut-off:
|
||||
The {morse/smooth/linear} variant is similar to the lj/smooth/linear
|
||||
variant in that it adds to the potential a shift and a linear term
|
||||
so that both, potential energy and force, go to zero at the cut-off:
|
||||
|
||||
:c,image(Eqs/pair_morse_smooth_linear.jpg)
|
||||
|
||||
|
@ -61,6 +76,27 @@ 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 anihilated. 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.
|
||||
|
||||
: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
|
||||
|
@ -115,6 +151,10 @@ The {morse/smooth/linear} pair style is only enabled if LAMMPS was
|
|||
built with the USER-MISC package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
The {morse/soft} pair style is only enabled if LAMMPS was
|
||||
built with the USER-FEP package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
|
|
|
@ -44,24 +44,23 @@ stiffness of the harmonic bond should be large, so that the Drude
|
|||
particle remains close ot the core. The values of Drude mass, Drude
|
||||
charge, and force constant can be chosen following different
|
||||
strategies, as in the following examples of polarizable force
|
||||
fields.
|
||||
fields:
|
||||
|
||||
"Lamoureux and Roux"_#Lamoureux suggest adopting a global
|
||||
half-stiffness, \(K_D\) = 500 kcal/(mol Å<sup>2</sup>) —
|
||||
which corresponds to a force constant \(k_D\) = 4184 kJ/(mol
|
||||
Å<sup>2</sup>) — for all types of core-Drude bond, a
|
||||
global mass \(m_D\) = 0.4 g/mol (or u) for all types of Drude
|
||||
particle, and to calculate the Drude charges for individual atom types
|
||||
from the atom polarizabilities using equation (1). This choice is
|
||||
followed in the polarizable CHARMM force field. :ulb,l
|
||||
"Lamoureux and Roux"_#Lamoureux suggest adopting a global half-stiffness, \
|
||||
\(K_D\) = 500 kcal/(mol Ang \(\{\}^2\)) - which corresponds to a force \
|
||||
constant \(k_D\) = 4184 kJ/(mol Ang \(\{\}^2\)) - for all types of \
|
||||
core-Drude bond, a global mass \(m_D\) = 0.4 g/mol (or u) for all types \
|
||||
of Drude particles, and to calculate the Drude charges for individual \
|
||||
atom types from the atom polarizabilities using equation (1). This \
|
||||
choice is followed in the polarizable CHARMM force field. :olb,l
|
||||
Alternately "Schroeder and Steinhauser"_#Schroeder suggest adopting a global \
|
||||
charge \(q_D\) = -1.0e and a global mass \(m_D\) = 0.1 g/mol (or u) \
|
||||
for all Drude particles, and to calculate the force constant for each \
|
||||
type of core-Drude bond from equation (1). The timesteps used by these \
|
||||
authors are between 0.5 and 2 fs, with the degrees of freedom of the \
|
||||
Drude oscillators kept cold at 1 K. :l
|
||||
In both these force fields hydrogen atoms are treated as non-polarizable. :ole,l
|
||||
|
||||
"Schroeder and Steinhauser"_#Schroeder suggest adopting a global
|
||||
charge \(q_D\) = -1.0e and a global mass \(m_D\) = 0.1 g/mol (or u)
|
||||
for all Drude particles, and to calculate the force constant for each
|
||||
type of core-Drude bond from equation (1). The timesteps used by these
|
||||
authors are between 0.5 and 2 fs, with the degrees of freedom of the
|
||||
Drude oscillators kept cold at 1 K. In both these force fields
|
||||
hydrogen atoms are treated as non-polarizable. :ule,l
|
||||
|
||||
The motion of of the Drude particles can be calculated by minimizing
|
||||
the energy of the induced dipoles at each timestep, by an interative,
|
||||
|
@ -87,17 +86,16 @@ are such that the core-shell model is sufficiently stable. But to be
|
|||
applicable to molecular/covalent systems the Drude model includes two
|
||||
important features:
|
||||
|
||||
The possibility to thermostat 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
|
||||
The possibility to thermostat 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. :olb,l
|
||||
|
||||
The Drude dipoles on covalently bonded atoms interact too strongly
|
||||
due to the short distances, so an atom may capture the Drude particle
|
||||
(shell) of a neighbor, or the induced dipoles within the same molecule
|
||||
may align too much. To avoid this, damping at short of the
|
||||
interactions between the point charges composing the induced dipole
|
||||
The Drude dipoles on covalently bonded atoms interact too strongly \
|
||||
due to the short distances, so an atom may capture the Drude particle \
|
||||
(shell) of a neighbor, or the induced dipoles within the same molecule \
|
||||
may align too much. To avoid this, damping at short of the \
|
||||
interactions between the point charges composing the induced dipole \
|
||||
can be done by "Thole"_#Thole functions. :ole,l
|
||||
|
||||
|
||||
|
@ -444,7 +442,7 @@ fix INVERSE all drude/transform/inverse :pre
|
|||
[(Lamoureux)] Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003)
|
||||
|
||||
:link(Schroeder)
|
||||
[(Schroeder)] Schröder and Steinhauser, J Chem Phys, 133,
|
||||
[(Schroeder)] Schroeder and Steinhauser, J Chem Phys, 133,
|
||||
154511 (2010).
|
||||
|
||||
:link(Jiang)
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
:line
|
||||
|
||||
LAMMPS GitHub tutorial :h1
|
||||
LAMMPS GitHub tutorial :h2
|
||||
written by Stefan Paquay :h3
|
||||
|
||||
:line
|
||||
|
|
|
@ -46,7 +46,7 @@ style = {delete} or {index} or {loop} or {world} or {universe} or {uloop} or {st
|
|||
constants = PI, version, on, off, true, false, yes, no
|
||||
thermo keywords = vol, ke, press, etc from "thermo_style"_thermo_style.html
|
||||
math operators = (), -x, x+y, x-y, x*y, x/y, x^y, x%y,
|
||||
x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x || y, !x
|
||||
x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x || y, !x
|
||||
math functions = sqrt(x), exp(x), ln(x), log(x), abs(x),
|
||||
sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x),
|
||||
random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x)
|
||||
|
@ -428,9 +428,8 @@ references, and references to other variables.
|
|||
Number: 0.2, 100, 1.0e20, -15.4, etc
|
||||
Constant: PI, version, on, off, true, false, yes, no
|
||||
Thermo keywords: vol, pe, ebond, etc
|
||||
Math operators: (), -x, x+y, x-y, x*y, x/y, x^y, x%y,
|
||||
Math operators: (), -x, x+y, x-y, x*y, x/y, x^y, x%y, \
|
||||
x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x || y, !x
|
||||
x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x || y, !x
|
||||
Math functions: sqrt(x), exp(x), ln(x), log(x), abs(x), \
|
||||
sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), \
|
||||
random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), \
|
||||
|
|
Loading…
Reference in New Issue