git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15101 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2016-06-02 14:09:19 +00:00
parent 15068b6354
commit d26d71fde1
19 changed files with 229 additions and 200 deletions

View File

@ -1183,9 +1183,9 @@ if <a class="reference internal" href="Section_start.html#start-3"><span class="
<table border="1" class="docutils">
<colgroup>
<col width="21%" />
<col width="24%" />
<col width="25%" />
<col width="31%" />
<col width="24%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="reference internal" href="pair_awpmd.html"><span class="doc">awpmd/cut</span></a></td>
@ -1224,29 +1224,29 @@ if <a class="reference internal" href="Section_start.html#start-3"><span class="
<td><a class="reference internal" href="pair_mgpt.html"><span class="doc">mgpt</span></a></td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="pair_morse.html"><span class="doc">morse/smooth/linear</span></a></td>
<td><a class="reference internal" href="pair_morse.html"><span class="doc">morse/soft</span></a></td>
<td><a class="reference internal" href="pair_multi_lucy.html"><span class="doc">multi/lucy</span></a></td>
<td><a class="reference internal" href="pair_quip.html"><span class="doc">quip</span></a></td>
<td><a class="reference internal" href="pair_reax_c.html"><span class="doc">reax/c</span></a></td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="pair_smd_hertz.html"><span class="doc">smd/hertz</span></a></td>
<tr class="row-odd"><td><a class="reference internal" href="pair_reax_c.html"><span class="doc">reax/c</span></a></td>
<td><a class="reference internal" href="pair_smd_hertz.html"><span class="doc">smd/hertz</span></a></td>
<td><a class="reference internal" href="pair_smd_tlsph.html"><span class="doc">smd/tlsph</span></a></td>
<td><a class="reference internal" href="pair_smd_triangulated_surface.html"><span class="doc">smd/triangulated/surface</span></a></td>
<td><a class="reference internal" href="pair_smd_ulsph.html"><span class="doc">smd/ulsph</span></a></td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="pair_smtbq.html"><span class="doc">smtbq</span></a></td>
<tr class="row-even"><td><a class="reference internal" href="pair_smd_ulsph.html"><span class="doc">smd/ulsph</span></a></td>
<td><a class="reference internal" href="pair_smtbq.html"><span class="doc">smtbq</span></a></td>
<td><a class="reference internal" href="pair_sph_heatconduction.html"><span class="doc">sph/heatconduction</span></a></td>
<td><a class="reference internal" href="pair_sph_idealgas.html"><span class="doc">sph/idealgas</span></a></td>
<td><a class="reference internal" href="pair_sph_lj.html"><span class="doc">sph/lj</span></a></td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="pair_sph_rhosum.html"><span class="doc">sph/rhosum</span></a></td>
<tr class="row-odd"><td><a class="reference internal" href="pair_sph_lj.html"><span class="doc">sph/lj</span></a></td>
<td><a class="reference internal" href="pair_sph_rhosum.html"><span class="doc">sph/rhosum</span></a></td>
<td><a class="reference internal" href="pair_sph_taitwater.html"><span class="doc">sph/taitwater</span></a></td>
<td><a class="reference internal" href="pair_sph_taitwater_morris.html"><span class="doc">sph/taitwater/morris</span></a></td>
<td><a class="reference internal" href="pair_srp.html"><span class="doc">srp</span></a></td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="pair_tersoff.html"><span class="doc">tersoff/table (o)</span></a></td>
<tr class="row-even"><td><a class="reference internal" href="pair_srp.html"><span class="doc">srp</span></a></td>
<td><a class="reference internal" href="pair_tersoff.html"><span class="doc">tersoff/table (o)</span></a></td>
<td><a class="reference internal" href="pair_thole.html"><span class="doc">thole</span></a></td>
<td><a class="reference internal" href="pair_lj_soft.html"><span class="doc">tip4p/long/soft (o)</span></a></td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>

View File

@ -648,31 +648,31 @@ KOKKOS, o = USER-OMP, t = OPT.
These are additional pair styles in USER packages, which can be used
if :ref:`LAMMPS is built with the appropriate package <start_3>`.
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`awpmd/cut <pair_awpmd>` | :doc:`buck/mdf <pair_mdf>` | :doc:`coul/cut/soft (o) <pair_lj_soft>` | :doc:`coul/diel (o) <pair_coul_diel>` |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`coul/long/soft (o) <pair_lj_soft>` | :doc:`dpd/fdt <pair_dpd_fdt>` | :doc:`dpd/fdt/energy <pair_dpd_fdt>` | :doc:`eam/cd (o) <pair_eam>` |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`edip (o) <pair_edip>` | :doc:`eff/cut <pair_eff>` | :doc:`gauss/cut <pair_gauss>` | :doc:`lennard/mdf <pair_mdf>` |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`list <pair_list>` | :doc:`lj/charmm/coul/long/soft (o) <pair_charmm>` | :doc:`lj/cut/coul/cut/soft (o) <pair_lj_soft>` | :doc:`lj/cut/coul/long/soft (o) <pair_lj_soft>` |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`lj/cut/dipole/sf (go) <pair_dipole>` | :doc:`lj/cut/soft (o) <pair_lj_soft>` | :doc:`lj/cut/thole/long (o) <pair_thole>` | :doc:`lj/cut/tip4p/long/soft (o) <pair_lj_soft>` |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`lj/mdf <pair_mdf>` | :doc:`lj/sdk (gko) <pair_sdk>` | :doc:`lj/sdk/coul/long (go) <pair_sdk>` | :doc:`lj/sdk/coul/msm (o) <pair_sdk>` |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`lj/sf (o) <pair_lj_sf>` | :doc:`meam/spline <pair_meam_spline>` | :doc:`meam/sw/spline <pair_meam_sw_spline>` | :doc:`mgpt <pair_mgpt>` |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`morse/smooth/linear <pair_morse>` | :doc:`multi/lucy <pair_multi_lucy>` | :doc:`quip <pair_quip>` | :doc:`reax/c <pair_reax_c>` |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`smd/hertz <pair_smd_hertz>` | :doc:`smd/tlsph <pair_smd_tlsph>` | :doc:`smd/triangulated/surface <pair_smd_triangulated_surface>` | :doc:`smd/ulsph <pair_smd_ulsph>` |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`smtbq <pair_smtbq>` | :doc:`sph/heatconduction <pair_sph_heatconduction>` | :doc:`sph/idealgas <pair_sph_idealgas>` | :doc:`sph/lj <pair_sph_lj>` |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`sph/rhosum <pair_sph_rhosum>` | :doc:`sph/taitwater <pair_sph_taitwater>` | :doc:`sph/taitwater/morris <pair_sph_taitwater_morris>` | :doc:`srp <pair_srp>` |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
| :doc:`tersoff/table (o) <pair_tersoff>` | :doc:`thole <pair_thole>` | :doc:`tip4p/long/soft (o) <pair_lj_soft>` | |
+--------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------------+
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`awpmd/cut <pair_awpmd>` | :doc:`buck/mdf <pair_mdf>` | :doc:`coul/cut/soft (o) <pair_lj_soft>` | :doc:`coul/diel (o) <pair_coul_diel>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`coul/long/soft (o) <pair_lj_soft>` | :doc:`dpd/fdt <pair_dpd_fdt>` | :doc:`dpd/fdt/energy <pair_dpd_fdt>` | :doc:`eam/cd (o) <pair_eam>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`edip (o) <pair_edip>` | :doc:`eff/cut <pair_eff>` | :doc:`gauss/cut <pair_gauss>` | :doc:`lennard/mdf <pair_mdf>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`list <pair_list>` | :doc:`lj/charmm/coul/long/soft (o) <pair_charmm>` | :doc:`lj/cut/coul/cut/soft (o) <pair_lj_soft>` | :doc:`lj/cut/coul/long/soft (o) <pair_lj_soft>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`lj/cut/dipole/sf (go) <pair_dipole>` | :doc:`lj/cut/soft (o) <pair_lj_soft>` | :doc:`lj/cut/thole/long (o) <pair_thole>` | :doc:`lj/cut/tip4p/long/soft (o) <pair_lj_soft>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`lj/mdf <pair_mdf>` | :doc:`lj/sdk (gko) <pair_sdk>` | :doc:`lj/sdk/coul/long (go) <pair_sdk>` | :doc:`lj/sdk/coul/msm (o) <pair_sdk>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`lj/sf (o) <pair_lj_sf>` | :doc:`meam/spline <pair_meam_spline>` | :doc:`meam/sw/spline <pair_meam_sw_spline>` | :doc:`mgpt <pair_mgpt>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`morse/smooth/linear <pair_morse>` | :doc:`morse/soft <pair_morse>` | :doc:`multi/lucy <pair_multi_lucy>` | :doc:`quip <pair_quip>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`reax/c <pair_reax_c>` | :doc:`smd/hertz <pair_smd_hertz>` | :doc:`smd/tlsph <pair_smd_tlsph>` | :doc:`smd/triangulated/surface <pair_smd_triangulated_surface>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`smd/ulsph <pair_smd_ulsph>` | :doc:`smtbq <pair_smtbq>` | :doc:`sph/heatconduction <pair_sph_heatconduction>` | :doc:`sph/idealgas <pair_sph_idealgas>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`sph/lj <pair_sph_lj>` | :doc:`sph/rhosum <pair_sph_rhosum>` | :doc:`sph/taitwater <pair_sph_taitwater>` | :doc:`sph/taitwater/morris <pair_sph_taitwater_morris>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
| :doc:`srp <pair_srp>` | :doc:`tersoff/table (o) <pair_tersoff>` | :doc:`thole <pair_thole>` | :doc:`tip4p/long/soft (o) <pair_lj_soft>` |
+--------------------------------------------+---------------------------------------------------+-----------------------------------------------------+-----------------------------------------------------------------+
----------

View File

@ -61,15 +61,15 @@ 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 :math:`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 :math:`U_1` corresponding to the final interactions of
these atoms:
.. image:: Eqs/compute_fep_u.jpg
:align: center
A coupling parameter &lambda; varying from 0 to 1 connects the
A coupling parameter :math:`\lambda` varying from 0 to 1 connects the
reference and perturbed systems:
.. image:: Eqs/compute_fep_lambda.jpg
@ -79,7 +79,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. &sigma; in Lennard-Jones potentials).
(e.g. :math:`\sigma` in Lennard-Jones potentials).
This command can be combined with :doc:`fix adapt <fix_adapt>` to
perform multistage free-energy perturbation calculations along
@ -91,26 +91,26 @@ stepwise alchemical transformations during a simulation run:
This compute is suitable for the finite-difference thermodynamic
integration (FDTI) method :ref:`(Mezei) <Mezei>`, which is based on an
evaluation of the numerical derivative of the free energy by a
perturbation method using a very small &delta;:
perturbation method using a very small :math:`\delta`:
.. image:: Eqs/compute_fep_fdti.jpg
:align: center
where *w*\ <sub>i</sub> are weights of a numerical quadrature. The :doc:`fix adapt <fix_adapt>` command can be used to define the stages of
&lambda; at which the derivative is calculated and averaged.
where :math:`w_i` are weights of a numerical quadrature. The :doc:`fix adapt <fix_adapt>` command can be used to define the stages of
:math:`\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 &delta; the thermodynamic
potential energy difference :math:`U_1 -U_0`. By
choosing a very small perturbation :math:`\delta` the thermodynamic
integration method can be implemented using a numerical evaluation of
the derivative of the potential energy with respect to &lambda;:
the derivative of the potential energy with respect to :math:`\lambda`:
.. image:: Eqs/compute_fep_ti.jpg
:align: center
Another technique to calculate free energy differences is the
acceptance ratio method :ref:`(Bennet) <Bennet>`, which can be implemented
by calculating the potential energy differences with &delta; = 1.0 on
by calculating the potential energy differences with :math:`\delta` = 1.0 on
both the forward and reverse routes:
.. image:: Eqs/compute_fep_bar.jpg
@ -241,12 +241,12 @@ trajectories during which the volume fluctuates or changes :ref:`(Allen and Tild
**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 ( :math:`U_1-U_0` ) as c_ID[1], the
Boltzmann factor :math:`\exp(-(U_1-U_0)/kT)`, or
:math:`V \exp(-(U_1-U_0)/kT)`, as c_ID[2] and the
volume of the simulation box :math:`V` as c_ID[3]. :math:`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
:math:`U_0` is the pair potential energy obtained with the
unperturbed parameters. The energies include kspace terms if these
are used in the simulation.

View File

@ -44,12 +44,8 @@ Examples
compute 2 precipitate voronoi/atom surface matrix
compute 3b precipitate voronoi/atom radius v_r
compute 4 solute voronoi/atom only_group
.. parsed-literal::
compute 5 defects voronoi/atom occupation
compute 6 all voronoi/atom neighbors yes
compute 6 all voronoi/atom neighbors yes
Description
"""""""""""

View File

@ -89,7 +89,7 @@ Restart, fix_modify, output, run start/stop, minimize info
No information about the *rigid* and *rigid/nve* fixes are written to
:doc:`binary restart files <restart>`.
Similar to the :doc:`fix rigid <fix_rigid>` command: &quot; The rigid
Similar to the :doc:`fix rigid <fix_rigid>` command: The rigid
fix computes a global scalar which can be accessed by various :ref:`output commands <howto_15>`. The scalar value calculated by
these fixes is "intensive". The scalar is the current temperature of
the collection of rigid bodies. This is averaged over all rigid
@ -99,9 +99,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.&quot;
removed from this calculation.
&quot;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 :ref:`output commands <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
@ -125,7 +125,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 :doc:`run <run>` command. These fixes are not invoked during
:doc:`energy minimization <minimize>`. &quot;
:doc:`energy minimization <minimize>`.
Restrictions
""""""""""""

View File

@ -118,7 +118,7 @@ Windows:
.. parsed-literal::
% set LAMMPS_POTENTIALS="C:\Path to LAMMPS\Potentials"
% set LAMMPS_POTENTIALS="C:\\Path to LAMMPS\\Potentials"
----------

View File

@ -18,24 +18,43 @@ pair_style morse/smooth/linear command
pair_style morse/smooth/linear/omp command
==========================================
pair_style morse/soft command
=============================
Syntax
""""""
.. parsed-literal::
pair_style morse cutoff
pair_style style args
* cutoff = global cutoff for Morse interactions (distance units)
* style = *morse* or *morse/smooth/linear* or *morse/soft*
* args = list of arguments for a particular style
.. parsed-literal::
*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)
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
.. parsed-literal::
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
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
Description
"""""""""""
@ -58,16 +77,16 @@ commands:
* r0 (distance units)
* cutoff (distance units)
* The last coefficient is optional. If not specified, the global morse
* cutoff is used.
The last coefficient is optional. If not specified, the global morse
cutoff is used.
----------
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:
.. image:: Eqs/pair_morse_smooth_linear.jpg
:align: center
@ -79,6 +98,30 @@ the *morse* and *morse/smooth/linear* styles.
----------
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:
.. image:: Eqs/pair_morse_soft.jpg
:align: center
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)
The last coefficient is optional. If not specified, the global morse
cutoff is used.
----------
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
@ -135,6 +178,9 @@ Restrictions
The *morse/smooth/linear* pair style is only enabled if LAMMPS was
built with the USER-MISC package. See the :ref:`Making LAMMPS <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 :ref:`Making LAMMPS <start_3>` section for more info.
Related commands
""""""""""""""""

View File

@ -27,23 +27,11 @@ 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:
* :ref:`Lamoureux and Roux <Lamoureux>` suggest adopting a global
half-stiffness, :math:`K_D` = 500 kcal/(mol &Aring;<sup>2</sup>) &mdash;
which corresponds to a force constant :math:`k_D` = 4184 kJ/(mol
&Aring;<sup>2</sup>) &mdash; for all types of core-Drude bond, a
global mass :math:`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.
* :ref:`Schroeder and Steinhauser <Schroeder>` suggest adopting a global
charge :math:`q_D` = -1.0e and a global mass :math:`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.
#. :ref:`Lamoureux and Roux <Lamoureux>` suggest adopting a global half-stiffness, :math:`K_D` = 500 kcal/(mol Ang :math:`{}^2`) - which corresponds to a force constant :math:`k_D` = 4184 kJ/(mol Ang :math:`{}^2`) - for all types of core-Drude bond, a global mass :math:`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.
#. Alternately :ref:`Schroeder and Steinhauser <Schroeder>` suggest adopting a global charge :math:`q_D` = -1.0e and a global mass :math:`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.
The motion of of the Drude particles can be calculated by minimizing
the energy of the induced dipoles at each timestep, by an interative,
self-consistent procedure. The Drude particles can be massless and
@ -67,17 +55,8 @@ 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
induced dipoles.
#. 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 :ref:`Thole <Thole>` functions.
#. 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.
#. 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 :ref:`Thole <Thole>` functions.
----------
@ -483,7 +462,7 @@ NPT ensemble using Nose-Hoover thermostat:
**(Schroeder)** Schr&ouml;der and Steinhauser, J Chem Phys, 133,
**(Schroeder)** Schroeder and Steinhauser, J Chem Phys, 133,
154511 (2010).
.. _Jiang:

View File

@ -1,5 +1,5 @@
LAMMPS GitHub tutorial
######################
**********************
written by Stefan Paquay
========================

View File

@ -46,7 +46,7 @@ Syntax
constants = PI, version, on, off, true, false, yes, no
thermo keywords = vol, ke, press, etc from :doc:`thermo_style <thermo_style>`
math operators = (), -x, x+y, x-y, x*y, x/y, x^y, x%y,
x == y, x != y, x &lt y, x &lt= y, x &gt y, x &gt= 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)
@ -456,9 +456,7 @@ references, and references to other variables.
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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 &lt y, x &lt= y, x &gt y, x &gt= y, x && y, x || y, !x |
| 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 |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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), ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z) |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

View File

@ -180,19 +180,19 @@ thermodynamic integration (FDTI) or Bennet&#8217;s acceptance ratio method
(BAR).</p>
<p>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 <em>U</em>&lt;sub&gt;0&lt;/sub&gt; corresponding to the
remain constant, a reference term <span class="math">\(U_0\)</span> corresponding to the
initial interactions of the atoms that will undergo perturbation, and
a term <em>U</em>&lt;sub&gt;1&lt;/sub&gt; corresponding to the final interactions of
a term <span class="math">\(U_1\)</span> corresponding to the final interactions of
these atoms:</p>
<img alt="_images/compute_fep_u.jpg" class="align-center" src="_images/compute_fep_u.jpg" />
<p>A coupling parameter &amp;lambda; varying from 0 to 1 connects the
<p>A coupling parameter <span class="math">\(\lambda\)</span> varying from 0 to 1 connects the
reference and perturbed systems:</p>
<img alt="_images/compute_fep_lambda.jpg" class="align-center" src="_images/compute_fep_lambda.jpg" />
<p>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. &amp;sigma; in Lennard-Jones potentials).</p>
(e.g. <span class="math">\(\sigma\)</span> in Lennard-Jones potentials).</p>
<p>This command can be combined with <a class="reference internal" href="fix_adapt.html"><span class="doc">fix adapt</span></a> to
perform multistage free-energy perturbation calculations along
stepwise alchemical transformations during a simulation run:</p>
@ -200,19 +200,19 @@ stepwise alchemical transformations during a simulation run:</p>
<p>This compute is suitable for the finite-difference thermodynamic
integration (FDTI) method <a class="reference internal" href="#mezei"><span class="std std-ref">(Mezei)</span></a>, which is based on an
evaluation of the numerical derivative of the free energy by a
perturbation method using a very small &amp;delta;:</p>
perturbation method using a very small <span class="math">\(\delta\)</span>:</p>
<img alt="_images/compute_fep_fdti.jpg" class="align-center" src="_images/compute_fep_fdti.jpg" />
<p>where <em>w</em>&lt;sub&gt;i&lt;/sub&gt; are weights of a numerical quadrature. The <a class="reference internal" href="fix_adapt.html"><span class="doc">fix adapt</span></a> command can be used to define the stages of
&amp;lambda; at which the derivative is calculated and averaged.</p>
<p>where <span class="math">\(w_i\)</span> are weights of a numerical quadrature. The <a class="reference internal" href="fix_adapt.html"><span class="doc">fix adapt</span></a> command can be used to define the stages of
<span class="math">\(\lambda\)</span> at which the derivative is calculated and averaged.</p>
<p>The compute fep calculates the exponential Boltzmann term and also the
potential energy difference <em>U</em>&lt;sub&gt;1&lt;/sub&gt;-<em>U</em>&lt;sub&gt;0&lt;/sub&gt;. By
choosing a very small perturbation &amp;delta; the thermodynamic
potential energy difference <span class="math">\(U_1 -U_0\)</span>. By
choosing a very small perturbation <span class="math">\(\delta\)</span> the thermodynamic
integration method can be implemented using a numerical evaluation of
the derivative of the potential energy with respect to &amp;lambda;:</p>
the derivative of the potential energy with respect to <span class="math">\(\lambda\)</span>:</p>
<img alt="_images/compute_fep_ti.jpg" class="align-center" src="_images/compute_fep_ti.jpg" />
<p>Another technique to calculate free energy differences is the
acceptance ratio method <a class="reference internal" href="#bennet"><span class="std std-ref">(Bennet)</span></a>, which can be implemented
by calculating the potential energy differences with &amp;delta; = 1.0 on
by calculating the potential energy differences with <span class="math">\(\delta\)</span> = 1.0 on
both the forward and reverse routes:</p>
<img alt="_images/compute_fep_bar.jpg" class="align-center" src="_images/compute_fep_bar.jpg" />
<p>The value of the free energy difference is determined by numerical
@ -346,12 +346,12 @@ trajectories during which the volume fluctuates or changes <a class="reference i
<hr class="docutils" />
<p><strong>Output info:</strong></p>
<p>This compute calculates a global vector of length 3 which contains the
energy difference (<em>U</em>&lt;sub&gt;1&lt;/sub&gt;-<em>U</em>&lt;sub&gt;0&lt;/sub&gt;) as c_ID[1], the
Boltzmann factor exp(-(<em>U</em>&lt;sub&gt;1&lt;/sub&gt;-<em>U</em>&lt;sub&gt;0&lt;/sub&gt;)/<em>kT</em>), or
<em>V</em>exp(-(<em>U</em>&lt;sub&gt;1&lt;/sub&gt;-<em>U</em>&lt;sub&gt;0&lt;/sub&gt;)/<em>kT</em>), as c_ID[2] and the
volume of the simulation box <em>V</em> as c_ID[3]. <em>U</em>&lt;sub&gt;1&lt;/sub&gt; is the
energy difference ( <span class="math">\(U_1-U_0\)</span> ) as c_ID[1], the
Boltzmann factor <span class="math">\(\exp(-(U_1-U_0)/kT)\)</span>, or
<span class="math">\(V \exp(-(U_1-U_0)/kT)\)</span>, as c_ID[2] and the
volume of the simulation box <span class="math">\(V\)</span> as c_ID[3]. <span class="math">\(U_1\)</span> is the
pair potential energy obtained with the perturbed parameters and
<em>U</em>&lt;sub&gt;0&lt;/sub&gt; is the pair potential energy obtained with the
<span class="math">\(U_0\)</span> is the pair potential energy obtained with the
unperturbed parameters. The energies include kspace terms if these
are used in the simulation.</p>
<p>These output results can be used by any command that uses a global

View File

@ -162,12 +162,10 @@ or <em>face_threshold</em> or <em>neighbors</em> or <em>peratom</em></li>
<span class="n">compute</span> <span class="mi">2</span> <span class="n">precipitate</span> <span class="n">voronoi</span><span class="o">/</span><span class="n">atom</span> <span class="n">surface</span> <span class="n">matrix</span>
<span class="n">compute</span> <span class="mi">3</span><span class="n">b</span> <span class="n">precipitate</span> <span class="n">voronoi</span><span class="o">/</span><span class="n">atom</span> <span class="n">radius</span> <span class="n">v_r</span>
<span class="n">compute</span> <span class="mi">4</span> <span class="n">solute</span> <span class="n">voronoi</span><span class="o">/</span><span class="n">atom</span> <span class="n">only_group</span>
<span class="n">compute</span> <span class="mi">5</span> <span class="n">defects</span> <span class="n">voronoi</span><span class="o">/</span><span class="n">atom</span> <span class="n">occupation</span>
<span class="n">compute</span> <span class="mi">6</span> <span class="nb">all</span> <span class="n">voronoi</span><span class="o">/</span><span class="n">atom</span> <span class="n">neighbors</span> <span class="n">yes</span>
</pre></div>
</div>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">compute</span> <span class="mi">5</span> <span class="n">defects</span> <span class="n">voronoi</span><span class="o">/</span><span class="n">atom</span> <span class="n">occupation</span>
</pre></div>
</div>
<p>compute 6 all voronoi/atom neighbors yes</p>
</div>
<div class="section" id="description">
<h2>Description</h2>

View File

@ -176,7 +176,7 @@
created to be used in place of that fix, to integrate the equations of
motion of spherical rigid bodies when a lattice-Boltzmann fluid is
present with a user-specified value of the force-coupling constant.
The fix uses the integration algorithm described in <a class="reference internal" href="fix_lb_viscous.html#mackay"><span class="std std-ref">Mackay et al.</span></a> to update the positions, velocities, and orientations of
The fix uses the integration algorithm described in <a class="reference internal" href="#mackay"><span class="std std-ref">Mackay et al.</span></a> to update the positions, velocities, and orientations of
a set of spherical rigid bodies experiencing velocity dependent
hydrodynamic forces. The spherical bodies are assumed to rotate as
solid, uniform density spheres, with moments of inertia calculated
@ -207,7 +207,7 @@ assumes the constituent atoms are point particles); see
<h2>Restart, fix_modify, output, run start/stop, minimize info</h2>
<p>No information about the <em>rigid</em> and <em>rigid/nve</em> fixes are written to
<a class="reference internal" href="restart.html"><span class="doc">binary restart files</span></a>.</p>
<p>Similar to the <a class="reference internal" href="fix_rigid.html"><span class="doc">fix rigid</span></a> command: &amp;quot; The rigid
<p>Similar to the <a class="reference internal" href="fix_rigid.html"><span class="doc">fix rigid</span></a> command: The rigid
fix computes a global scalar which can be accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>. The scalar value calculated by
these fixes is &#8220;intensive&#8221;. The scalar is the current temperature of
the collection of rigid bodies. This is averaged over all rigid
@ -217,8 +217,8 @@ 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 <em>force</em> and <em>torque</em> keywords are
removed from this calculation.&amp;quot;</p>
<p>&amp;quot;All of these fixes compute a global array of values which can be
removed from this calculation.</p>
<p>All of these fixes compute a global array of values which can be
accessed by various <a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>.
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
@ -239,7 +239,7 @@ of bodies.</p>
they are independent of the number of atoms in the simulation.</p>
<p>No parameter of these fixes can be used with the <em>start/stop</em> keywords
of the <a class="reference internal" href="run.html"><span class="doc">run</span></a> command. These fixes are not invoked during
<a class="reference internal" href="minimize.html"><span class="doc">energy minimization</span></a>. &amp;quot;</p>
<a class="reference internal" href="minimize.html"><span class="doc">energy minimization</span></a>.</p>
</div>
<div class="section" id="restrictions">
<h2>Restrictions</h2>

View File

@ -223,7 +223,7 @@ for</p>
</div>
<p>Windows:</p>
<pre class="literal-block">
% set LAMMPS_POTENTIALS=&quot;C:Path to LAMMPSPotentials&quot;
% set LAMMPS_POTENTIALS=&quot;C:\Path to LAMMPS\Potentials&quot;
</pre>
<hr class="docutils" />
<p>The alphabetic list of pair styles defined in LAMMPS is given on the

View File

@ -141,21 +141,38 @@
</div>
<div class="section" id="pair-style-morse-smooth-linear-omp-command">
<h1>pair_style morse/smooth/linear/omp command</h1>
</div>
<div class="section" id="pair-style-morse-soft-command">
<h1>pair_style morse/soft command</h1>
<div class="section" id="syntax">
<h2>Syntax</h2>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pair_style</span> <span class="n">morse</span> <span class="n">cutoff</span>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pair_style</span> <span class="n">style</span> <span class="n">args</span>
</pre></div>
</div>
<ul class="simple">
<li>cutoff = global cutoff for Morse interactions (distance units)</li>
<li>style = <em>morse</em> or <em>morse/smooth/linear</em> or <em>morse/soft</em></li>
<li>args = list of arguments for a particular style</li>
</ul>
<pre class="literal-block">
<em>morse</em> args = cutoff
cutoff = global cutoff for Morse interactions (distance units)
<em>morse/smooth/linear</em> args = cutoff
cutoff = global cutoff for Morse interactions (distance units)
<em>morse/soft</em> args = n lf cutoff
n = soft-core parameter
lf = transformation range is lf &lt; lambda &lt; 1
cutoff = global cutoff for Morse interactions (distance units)
</pre>
</div>
<div class="section" id="examples">
<h2>Examples</h2>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pair_style</span> <span class="n">morse</span> <span class="mf">2.5</span>
<span class="n">pair_style</span> <span class="n">morse</span><span class="o">/</span><span class="n">smooth</span><span class="o">/</span><span class="n">linear</span> <span class="mf">2.5</span>
<span class="n">pair_coeff</span> <span class="o">*</span> <span class="o">*</span> <span class="mf">100.0</span> <span class="mf">2.0</span> <span class="mf">1.5</span>
<span class="n">pair_coeff</span> <span class="mi">1</span> <span class="mi">1</span> <span class="mf">100.0</span> <span class="mf">2.0</span> <span class="mf">1.5</span> <span class="mf">3.0</span>
<p>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</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pair_style</span> <span class="n">morse</span><span class="o">/</span><span class="n">soft</span> <span class="mi">4</span> <span class="mf">0.9</span> <span class="mf">10.0</span>
<span class="n">pair_coeff</span> <span class="o">*</span> <span class="o">*</span> <span class="mf">100.0</span> <span class="mf">2.0</span> <span class="mf">1.5</span> <span class="mf">1.0</span>
<span class="n">pair_coeff</span> <span class="mi">1</span> <span class="mi">1</span> <span class="mf">100.0</span> <span class="mf">2.0</span> <span class="mf">1.5</span> <span class="mf">1.0</span> <span class="mf">3.0</span>
</pre></div>
</div>
</div>
@ -174,17 +191,34 @@ commands:</p>
<li>alpha (1/distance units)</li>
<li>r0 (distance units)</li>
<li>cutoff (distance units)</li>
<li>The last coefficient is optional. If not specified, the global morse</li>
<li>cutoff is used.</li>
</ul>
<p>The last coefficient is optional. If not specified, the global morse
cutoff is used.</p>
<hr class="docutils" />
<p>The <em>smooth/linear</em> 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:</p>
<p>The <em>morse/smooth/linear</em> 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:</p>
<img alt="_images/pair_morse_smooth_linear.jpg" class="align-center" src="_images/pair_morse_smooth_linear.jpg" />
<p>The syntax of the pair_style and pair_coeff commands are the same for
the <em>morse</em> and <em>morse/smooth/linear</em> styles.</p>
<hr class="docutils" />
<p>The <em>morse/soft</em> variant is similar to the <em>lj/cut/soft</em> 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 <em>lj/cut/soft</em>, and is instead given by:</p>
<img alt="_images/pair_morse_soft.jpg" class="align-center" src="_images/pair_morse_soft.jpg" />
<p>The <em>morse/soft</em> style requires the following pair coefficients:</p>
<ul class="simple">
<li>D0 (energy units)</li>
<li>alpha (1/distance units)</li>
<li>r0 (distance units)</li>
<li>lamda (unitless, between 0.0 and 1.0)</li>
<li>cutoff (distance units)</li>
</ul>
<p>The last coefficient is optional. If not specified, the global morse
cutoff is used.</p>
<hr class="docutils" />
<p>Styles with a <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
@ -222,6 +256,8 @@ to be specified in an input script that reads a restart file.</p>
<h2>Restrictions</h2>
<p>The <em>morse/smooth/linear</em> pair style is only enabled if LAMMPS was
built with the USER-MISC package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
<p>The <em>morse/soft</em> pair style is only enabled if LAMMPS was built with
the USER-FEP package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
</div>
<div class="section" id="related-commands">
<h2>Related commands</h2>

File diff suppressed because one or more lines are too long

View File

@ -147,25 +147,13 @@ 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.</p>
<ul class="simple">
<li><a class="reference internal" href="#lamoureux"><span class="std std-ref">Lamoureux and Roux</span></a> suggest adopting a global
half-stiffness, <span class="math">\(K_D\)</span> = 500 kcal/(mol &amp;Aring;&lt;sup&gt;2&lt;/sup&gt;) &amp;mdash;
which corresponds to a force constant <span class="math">\(k_D\)</span> = 4184 kJ/(mol
&amp;Aring;&lt;sup&gt;2&lt;/sup&gt;) &amp;mdash; for all types of core-Drude bond, a
global mass <span class="math">\(m_D\)</span> = 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.</li>
<li><a class="reference internal" href="#schroeder"><span class="std std-ref">Schroeder and Steinhauser</span></a> suggest adopting a global
charge <span class="math">\(q_D\)</span> = -1.0e and a global mass <span class="math">\(m_D\)</span> = 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.</li>
</ul>
<p>The motion of of the Drude particles can be calculated by minimizing
fields:</p>
<ol class="arabic simple">
<li><a class="reference internal" href="#lamoureux"><span class="std std-ref">Lamoureux and Roux</span></a> suggest adopting a global half-stiffness, <span class="math">\(K_D\)</span> = 500 kcal/(mol Ang <span class="math">\({}^2\)</span>) - which corresponds to a force constant <span class="math">\(k_D\)</span> = 4184 kJ/(mol Ang <span class="math">\({}^2\)</span>) - for all types of core-Drude bond, a global mass <span class="math">\(m_D\)</span> = 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.</li>
<li>Alternately <a class="reference internal" href="#schroeder"><span class="std std-ref">Schroeder and Steinhauser</span></a> suggest adopting a global charge <span class="math">\(q_D\)</span> = -1.0e and a global mass <span class="math">\(m_D\)</span> = 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.</li>
</ol>
<p>#. In both these force fields hydrogen atoms are treated as non-polarizable.
The motion of of the Drude particles can be calculated by minimizing
the energy of the induced dipoles at each timestep, by an interative,
self-consistent procedure. The Drude particles can be massless and
therefore do not contribute to the kinetic energy. However, the
@ -187,20 +175,8 @@ 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:</p>
<ol class="arabic simple">
<li>The possibility to thermostat the additional degrees of freedom</li>
</ol>
<blockquote>
<div>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.</div></blockquote>
<ol class="arabic simple">
<li>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 <a class="reference internal" href="#thole"><span class="std std-ref">Thole</span></a> functions.</li>
<li>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.</li>
<li>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 <a class="reference internal" href="#thole"><span class="std std-ref">Thole</span></a> functions.</li>
</ol>
<hr class="docutils" />
<p><strong>Preparation of the data file</strong></p>
@ -519,7 +495,7 @@ review the different thermostats and ensemble combinations.</p>
</div>
<hr class="docutils" />
<p id="lamoureux"><strong>(Lamoureux)</strong> Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003)</p>
<p id="schroeder"><strong>(Schroeder)</strong> Schr&amp;ouml;der and Steinhauser, J Chem Phys, 133,
<p id="schroeder"><strong>(Schroeder)</strong> Schroeder and Steinhauser, J Chem Phys, 133,
154511 (2010).</p>
<dl class="docutils" id="jiang">
<dt><strong>(Jiang)</strong> Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux,</dt>

View File

@ -132,9 +132,11 @@
<p>This document briefly describes how to use GitHub to merge changes
into LAMMPS using GitHub. It assumes that you are familiar with
git. You may want to have a look at the <a class="reference external" href="http://git-scm.com/book/">Git book</a> to reacquaint yourself.</p>
</div>
</div>
<hr class="docutils" />
<div class="section" id="making-an-account">
<h3>Making an account</h3>
<h1>Making an account</h1>
<p>First of all, you need a GitHub account. This is fairly simple, just
go to <a class="reference external" href="https://github.com">GitHub</a> and create an account by clicking
the <a href="#id1"><span class="problematic" id="id2">``</span></a>Sign up for GitHub&#8217;&#8217; button. Once your account is created, you
@ -143,7 +145,7 @@ username or e-mail address and password.</p>
</div>
<hr class="docutils" />
<div class="section" id="forking-the-repository">
<h3>Forking the repository</h3>
<h1>Forking the repository</h1>
<p>To get changes into LAMMPS, you need to first fork the repository. At
the time of writing, LAMMPS-ICMS is the preferred fork. Go to <a class="reference external" href="https://github.com/lammps/lammps">LAMMPS on GitHub</a> and make sure branch is
set to <a href="#id3"><span class="problematic" id="id4">``</span></a>lammps-icms&#8217;&#8216;, see the figure below.</p>
@ -158,11 +160,9 @@ can include changes from upstream into your repository.</p>
</div>
<hr class="docutils" />
<div class="section" id="adding-changes-to-your-own-fork">
<h3>Adding changes to your own fork</h3>
<h1>Adding changes to your own fork</h1>
<p>Before adding changes, it is better to first create a new branch that
will contain these changes, a so-called feature branch.</p>
</div>
</div>
<div class="section" id="feature-branches">
<h2>Feature branches</h2>
<p>Since LAMMPS is such a big project and most user contributions come in
@ -210,6 +210,8 @@ $ git add doc/fix_manifoldforce.txt doc/user_manifolds.txt
</div>
<p>The &#8220;-m&#8221; switch is used to add a message to the commit. Use this to
indicate what type of change was commited.</p>
<div class="section" id="wisdom-by-axel">
<h3>Wisdom by Axel:</h3>
<p><em>&#8220;Do not use &#8220;git commit -a&#8221;. the -a flag will automatically include
*all</em> modified or new files. mercurial does that and it find it
hugely annoying and often leading to accidental commits of files you
@ -260,16 +262,19 @@ is now up to the maintainer(s) of the upstream repository to
incorporate the changes into the repository and to close the pull
request.</p>
<img alt="_images/tutorial_pull_request4.png" class="align-center" src="_images/tutorial_pull_request4.png" />
</div>
</div>
</div>
<hr class="docutils" />
<div class="section" id="additional-changes">
<h3>Additional changes</h3>
<h1>Additional changes</h1>
<p>Before the pull request is accepted, any additional changes you push
into your repository will automatically become part of the pull
request.</p>
</div>
<hr class="docutils" />
<div class="section" id="after-a-merge">
<h3>After a merge</h3>
<h1>After a merge</h1>
<p>When everything is fine the feature branch is merged into the LAMMPS
repositories:</p>
<img alt="_images/tutorial_merged.png" class="align-center" src="_images/tutorial_merged.png" />
@ -293,8 +298,6 @@ to your remote(s) as well:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ git push origin :add-user-manifold
</pre></div>
</div>
</div>
</div>
</div>

View File

@ -168,7 +168,7 @@
constants = PI, version, on, off, true, false, yes, no
thermo keywords = vol, ke, press, etc from <a class="reference internal" href="thermo_style.html"><span class="doc">thermo_style</span></a>
math operators = (), -x, x+y, x-y, x*y, x/y, x^y, x%y,
x == y, x != y, x &amp;lt y, x &amp;lt= y, x &amp;gt y, x &amp;gt= y, x &amp;&amp; y, x || y, !x
x == y, x != y, x &lt; y, x &lt;= y, x &gt; y, x &gt;= y, x &amp;&amp; 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)
@ -536,36 +536,33 @@ references, and references to other variables.</p>
<td>vol, pe, ebond, etc</td>
</tr>
<tr class="row-even"><td>Math operators</td>
<td>(), -x, x+y, x-y, x*y, x/y, x^y, x%y,</td>
<td>(), -x, x+y, x-y, x*y, x/y, x^y, x%y, x == y, x != y, x &lt; y, x &lt;= y, x &gt; y, x &gt;= y, x &amp;&amp; y, x || y, !x</td>
</tr>
<tr class="row-odd"><td>Math operators</td>
<td>(), -x, x+y, x-y, x*y, x/y, x^y, x%y, x == y, x != y, x &amp;lt y, x &amp;lt= y, x &amp;gt y, x &amp;gt= y, x &amp;&amp; y, x || y, !x</td>
</tr>
<tr class="row-even"><td>Math functions</td>
<tr class="row-odd"><td>Math functions</td>
<td>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), ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)</td>
</tr>
<tr class="row-odd"><td>Group functions</td>
<tr class="row-even"><td>Group functions</td>
<td>count(ID), mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), fcm(ID,dim), bound(ID,dir), gyration(ID), ke(ID), angmom(ID,dim), torque(ID,dim), inertia(ID,dimdim), omega(ID,dim)</td>
</tr>
<tr class="row-even"><td>Region functions</td>
<tr class="row-odd"><td>Region functions</td>
<td>count(ID,IDR), mass(ID,IDR), charge(ID,IDR), xcm(ID,dim,IDR), vcm(ID,dim,IDR), fcm(ID,dim,IDR), bound(ID,dir,IDR), gyration(ID,IDR), ke(ID,IDR), angmom(ID,dim,IDR), torque(ID,dim,IDR), inertia(ID,dimdim,IDR), omega(ID,dim,IDR)</td>
</tr>
<tr class="row-odd"><td>Special functions</td>
<tr class="row-even"><td>Special functions</td>
<td>sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x)</td>
</tr>
<tr class="row-even"><td>Atom values</td>
<tr class="row-odd"><td>Atom values</td>
<td>id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i]</td>
</tr>
<tr class="row-odd"><td>Atom vectors</td>
<tr class="row-even"><td>Atom vectors</td>
<td>id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q</td>
</tr>
<tr class="row-even"><td>Compute references</td>
<tr class="row-odd"><td>Compute references</td>
<td>c_ID, c_ID[i], c_ID[i][j], C_ID, C_ID[i]</td>
</tr>
<tr class="row-odd"><td>Fix references</td>
<tr class="row-even"><td>Fix references</td>
<td>f_ID, f_ID[i], f_ID[i][j], F_ID, F_ID[i]</td>
</tr>
<tr class="row-even"><td>Other variables</td>
<tr class="row-odd"><td>Other variables</td>
<td>v_name, v_name[i]</td>
</tr>
</tbody>