From 126ae910b8021817b47772ef17f8a84c96b5166e Mon Sep 17 00:00:00 2001 From: sjplimp Date: Thu, 2 Jun 2016 14:05:40 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15097 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/src/compute_fep.txt | 32 +++++++++--------- doc/src/compute_voronoi_atom.txt | 6 ++-- doc/src/fix_lb_rigid_pc_sphere.txt | 8 ++--- doc/src/pair_coeff.txt | 2 +- doc/src/pair_morse.txt | 54 ++++++++++++++++++++++++++---- doc/src/tutorial_drude.txt | 52 ++++++++++++++-------------- doc/src/tutorial_github.txt | 2 +- doc/src/variable.txt | 5 ++- 8 files changed, 99 insertions(+), 62 deletions(-) diff --git a/doc/src/compute_fep.txt b/doc/src/compute_fep.txt index f0bc41c143..c5fb2f0b70 100644 --- a/doc/src/compute_fep.txt +++ b/doc/src/compute_fep.txt @@ -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}0 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}1 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}i 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}1-{U}0. 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}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 +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}0 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. diff --git a/doc/src/compute_voronoi_atom.txt b/doc/src/compute_voronoi_atom.txt index 3364481e37..3dcdffacb1 100644 --- a/doc/src/compute_voronoi_atom.txt +++ b/doc/src/compute_voronoi_atom.txt @@ -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:] diff --git a/doc/src/fix_lb_rigid_pc_sphere.txt b/doc/src/fix_lb_rigid_pc_sphere.txt index b040b6243c..89474d8052 100755 --- a/doc/src/fix_lb_rigid_pc_sphere.txt +++ b/doc/src/fix_lb_rigid_pc_sphere.txt @@ -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:] diff --git a/doc/src/pair_coeff.txt b/doc/src/pair_coeff.txt index cffdd5648a..fe9238f423 100644 --- a/doc/src/pair_coeff.txt +++ b/doc/src/pair_coeff.txt @@ -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 diff --git a/doc/src/pair_morse.txt b/doc/src/pair_morse.txt index 41bfbd5a29..b54a89a977 100644 --- a/doc/src/pair_morse.txt +++ b/doc/src/pair_morse.txt @@ -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 diff --git a/doc/src/tutorial_drude.txt b/doc/src/tutorial_drude.txt index 43f3de3de9..987f580aa2 100644 --- a/doc/src/tutorial_drude.txt +++ b/doc/src/tutorial_drude.txt @@ -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 Å2) — -which corresponds to a force constant \(k_D\) = 4184 kJ/(mol -Å2) — 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) diff --git a/doc/src/tutorial_github.txt b/doc/src/tutorial_github.txt index 7341735b0e..941cabd6d0 100644 --- a/doc/src/tutorial_github.txt +++ b/doc/src/tutorial_github.txt @@ -6,7 +6,7 @@ :line -LAMMPS GitHub tutorial :h1 +LAMMPS GitHub tutorial :h2 written by Stefan Paquay :h3 :line diff --git a/doc/src/variable.txt b/doc/src/variable.txt index c84dc8df99..53b59c3243 100644 --- a/doc/src/variable.txt +++ b/doc/src/variable.txt @@ -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), \