Added pull geometry direction-relative
[alexxy/gromacs.git] / docs / manual / special.tex
1 %
2 % This file is part of the GROMACS molecular simulation package.
3 %
4 % Copyright (c) 2013,2014,2015, by the GROMACS development team, led by
5 % Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
6 % and including many others, as listed in the AUTHORS file in the
7 % top-level source directory and at http://www.gromacs.org.
8 %
9 % GROMACS is free software; you can redistribute it and/or
10 % modify it under the terms of the GNU Lesser General Public License
11 % as published by the Free Software Foundation; either version 2.1
12 % of the License, or (at your option) any later version.
13 %
14 % GROMACS is distributed in the hope that it will be useful,
15 % but WITHOUT ANY WARRANTY; without even the implied warranty of
16 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 % Lesser General Public License for more details.
18 %
19 % You should have received a copy of the GNU Lesser General Public
20 % License along with GROMACS; if not, see
21 % http://www.gnu.org/licenses, or write to the Free Software Foundation,
22 % Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
23 %
24 % If you want to redistribute modifications to GROMACS, please
25 % consider that scientific software is very special. Version
26 % control is crucial - bugs must be traceable. We will be happy to
27 % consider code for inclusion in the official distribution, but
28 % derived work must not be called official GROMACS. Details are found
29 % in the README & COPYING files - if they are missing, get the
30 % official version at http://www.gromacs.org.
31 %
32 % To help us fund GROMACS development, we humbly ask that you cite
33 % the research papers on the package. Check out http://www.gromacs.org.
34
35 \chapter{Special Topics}
36 \label{ch:special}
37
38
39 \section{Free energy implementation}
40 \label{sec:dgimplement}
41 For free energy calculations, there are two things that must be
42 specified; the end states, and the pathway connecting the end states.
43 The end states can be specified in two ways.  The most straightforward
44 is through the specification of end states in the topology file.  Most
45 potential forms support both an $A$ state and a $B$ state. Whenever both
46 states are specified, then the $A$ state corresponds to the initial free
47 energy state, and the $B$ state corresponds to the final state.
48
49 In some cases, the end state can also be defined in some cases without
50 altering the topology, solely through the {\tt .mdp} file, through the use
51 of the {\tt couple-moltype},{\tt couple-lambda0}, {\tt couple-lambda1}, and
52 {\tt couple-intramol} mdp keywords.  Any molecule type selected in
53 {\tt couple-moltype} will automatically have a $B$ state implicitly
54 constructed (and the $A$ state redefined) according to the {\tt couple-lambda}
55 keywords. {\tt couple-lambda0} and {\tt couple-lambda1} define the non-bonded
56 parameters that are present in the $A$ state ({\tt couple-lambda0})
57 and the $B$ state ({\tt couple-lambda1}).  The choices are 'q','vdw', and
58 'vdw-q'; these indicate the Coulombic, van der Waals, or both parameters
59 that are turned on in the respective state.
60
61 Once the end states are defined, then the path between the end states
62 has to be defined. This path is defined solely in the .mdp file.
63 Starting in 4.6, $\lambda$ is a vector of components, with Coulombic,
64 van der Waals, bonded, restraint, and mass components all able to be
65 adjusted independently.  This makes it possible to turn off the
66 Coulombic term linearly, and then the van der Waals using soft core,
67 all in the same simulation.  This is especially useful for replica
68 exchange or expanded ensemble simulations, where it is important to
69 sample all the way from interacting to non-interacting states in the
70 same simulation to improve sampling.
71
72 {\tt fep-lambdas} is the default array of $\lambda$ values ranging
73 from 0 to 1.  All of the other lambda arrays use the values in this
74 array if they are not specified.  The previous behavior, where the
75 pathway is controlled by a single $\lambda$ variable, can be preserved
76 by using only {\tt fep-lambdas} to define the pathway.
77
78 For example, if you wanted to first to change the Coulombic terms,
79 then the van der Waals terms, changing bonded at the same time rate as
80 the van der Waals, but changing the restraints throughout the first
81 two-thirds of the simulation, then you could use this $\lambda$ vector:
82
83 \begin{verbatim}
84 coul-lambdas           = 0.0 0.2 0.5 1.0 1.0 1.0 1.0 1.0 1.0 1.0
85 vdw-lambdas            = 0.0 0.0 0.0 0.0 0.4 0.5 0.6 0.7 0.8 1.0
86 bonded-lambdas         = 0.0 0.0 0.0 0.0 0.4 0.5 0.6 0.7 0.8 1.0
87 restraint-lambdas      = 0.0 0.0 0.1 0.2 0.3 0.5 0.7 1.0 1.0 1.0
88 \end{verbatim}
89
90 This is also equivalent to:
91
92 \begin{verbatim}
93 fep-lambdas            = 0.0 0.0 0.0 0.0 0.4 0.5 0.6 0.7 0.8 1.0
94 coul-lambdas           = 0.0 0.2 0.5 1.0 1.0 1.0 1.0 1.0 1.0 1.0
95 restraint-lambdas      = 0.0 0.0 0.1 0.2 0.3 0.5 0.7 1.0 1.0 1.0
96 \end{verbatim}
97 The {\tt fep-lambda array}, in this case, is being used as the default to
98 fill in the bonded and van der Waals $\lambda$ arrays.  Usually, it's best to fill
99 in all arrays explicitly, just to make sure things are properly
100 assigned.
101
102 If you want to turn on only restraints going from $A$ to $B$, then it would be:
103 \begin{verbatim}
104 restraint-lambdas      = 0.0 0.1 0.2 0.4 0.6 1.0
105 \end{verbatim}
106 and all of the other components of the $\lambda$ vector would be left in the $A$ state.
107
108 To compute free energies with a vector $\lambda$ using
109 thermodynamic integration, then the TI equation becomes vector equation:
110 \beq
111 \Delta F = \int \langle \nabla H \rangle \cdot d\vec{\lambda}
112 \eeq
113 or for finite differences:
114 \beq
115 \Delta F \approx \int \sum \langle \nabla H \rangle \cdot \Delta\lambda
116 \eeq
117
118 The external {\tt pymbar} script downloaded from https://SimTK.org/home/pymbar can
119 compute this integral automatically from the {\gromacs} dhdl.xvg output.
120
121 \section{Potential of mean force}
122
123 A potential of mean force (PMF) is a potential that is obtained
124 by integrating the mean force from an ensemble of configurations.
125 In {\gromacs}, there are several different methods to calculate the mean force.
126 Each method has its limitations, which are listed below.
127 \begin{itemize}
128 \item{\bf pull code:} between the centers of mass of molecules or groups of molecules.
129 \item{\bf free-energy code with harmonic bonds or constraints:} between single atoms. 
130 \item{\bf free-energy code with position restraints:} changing the conformation of a relatively immobile group of atoms.
131 \item{\bf pull code in limited cases:} between groups of atoms that are
132 part of a larger molecule for which the bonds are constrained with
133 SHAKE or LINCS. If the pull group if relatively large,
134 the pull code can be used.
135 \end{itemize}
136 The pull and free-energy code a described in more detail
137 in the following two sections.
138
139 \subsubsection{Entropic effects}
140 When a distance between two atoms or the centers of mass of two groups
141 is constrained or restrained, there will be a purely entropic contribution
142 to the PMF due to the rotation of the two groups~\cite{RMNeumann1980a}.
143 For a system of two non-interacting masses the potential of mean force is:
144 \beq
145 V_{pmf}(r) = -(n_c - 1) k_B T \log(r)
146 \eeq
147 where $n_c$ is the number of dimensions in which the constraint works
148 (i.e. $n_c=3$ for a normal constraint and $n_c=1$ when only
149 the $z$-direction is constrained).
150 Whether one needs to correct for this contribution depends on what
151 the PMF should represent. When one wants to pull a substrate
152 into a protein, this entropic term indeed contributes to the work to
153 get the substrate into the protein. But when calculating a PMF
154 between two solutes in a solvent, for the purpose of simulating
155 without solvent, the entropic contribution should be removed.
156 {\bf Note} that this term can be significant; when at 300K the distance is halved,
157 the contribution is 3.5 kJ~mol$^{-1}$.
158
159 \section{Non-equilibrium pulling}
160 When the distance between two groups is changed continuously,
161 work is applied to the system, which means that the system is no longer
162 in equilibrium. Although in the limit of very slow pulling
163 the system is again in equilibrium, for many systems this limit
164 is not reachable within reasonable computational time.
165 However, one can use the Jarzynski relation~\cite{Jarzynski1997a}
166 to obtain the equilibrium free-energy difference $\Delta G$
167 between two distances from many non-equilibrium simulations:
168 \begin{equation}
169    \Delta G_{AB} = -k_BT \log \left\langle e^{-\beta W_{AB}} \right\rangle_A
170    \label{eq:Jarz}
171 \end{equation}
172 where $W_{AB}$ is the work performed to force the system along one path
173 from state A to B, the angular bracket denotes averaging over
174 a canonical ensemble of the initial state A and $\beta=1/k_B T$.
175
176
177 \section{The pull code}
178 \index{center-of-mass pulling}
179 \label{sec:pull}
180 The pull code applies forces or constraints between the centers
181 of mass of one or more pairs of groups of atoms.
182 Each pull reaction coordinate is called a ``coordinate'' and it operates
183 on usually two, but sometimes more, pull groups. A pull group can be part of one or more pull
184 coordinates. Furthermore, a coordinate can also operate on a single group
185 and an absolute reference position in space.
186 The distance between a pair of groups can be determined
187 in 1, 2 or 3 dimensions, or can be along a user-defined vector.
188 The reference distance can be constant or can change linearly with time.
189 Normally all atoms are weighted by their mass, but an additional
190 weighting factor can also be used.
191 \begin{figure}
192 \centerline{\includegraphics[width=6cm,angle=270]{plots/pull}}
193 \caption{Schematic picture of pulling a lipid out of a lipid bilayer
194 with umbrella pulling. $V_{rup}$ is the velocity at which the spring is
195 retracted, $Z_{link}$ is the atom to which the spring is attached and
196 $Z_{spring}$ is the location of the spring.}
197 \label{fig:pull} 
198 \end{figure}
199
200 Three different types of calculation are supported,
201 and in all cases the reference distance can be constant
202 or linearly changing with time.
203 \begin{enumerate}
204 \item{\textbf{Umbrella pulling}\swapindexquiet{umbrella}{pulling}}
205 A harmonic potential is applied between
206 the centers of mass of two groups.
207 Thus, the force is proportional to the displacement.
208 \item{\textbf{Constraint pulling\swapindexquiet{constraint}{pulling}}}
209 The distance between the centers of mass of two groups is constrained.
210 The constraint force can be written to a file.
211 This method uses the SHAKE algorithm but only needs 1 iteration to be
212 exact if only two groups are constrained. 
213 \item{\textbf{Constant force pulling}}
214 A constant force is applied between the centers of mass of two groups.
215 Thus, the potential is linear.
216 In this case there is no reference distance of pull rate.
217 \item{\textbf{Flat bottom pulling}}
218 Like umbrella pulling, but the potential and force are zero for
219 negative deviations. This is useful for restraining the distance
220 between e.g. two molecules to a certain maximum distance.
221 \end{enumerate}
222
223 \subsubsection{Definition of the center of mass}
224
225 In {\gromacs}, there are three ways to define the center of mass of a group.
226 The standard way is a ``plain'' center of mass, possibly with additional
227 weighting factors. With periodic boundary conditions it is no longer
228 possible to uniquely define the center of mass of a group of atoms.
229 Therefore, a reference atom is used. For determining the center of mass,
230 for all other atoms in the group, the closest periodic image to the reference
231 atom is used. This uniquely defines the center of mass.
232 By default, the middle (determined by the order in the topology) atom
233 is used as a reference atom, but the user can also select any other atom
234 if it would be closer to center of the group.
235
236 For a layered system, for instance a lipid bilayer, it may be of interest
237 to calculate the PMF of a lipid as function of its distance
238 from the whole bilayer. The whole bilayer can be taken as reference
239 group in that case, but it might also be of interest to define the
240 reaction coordinate for the PMF more locally. The {\tt .mdp} option
241 {\tt pull-coord?-geometry = cylinder} does not
242 use all the atoms of the reference group, but instead dynamically only those
243 within a cylinder with radius {\tt pull-cylinder-r} around the pull vector going
244 through the pull group. This only
245 works for distances defined in one dimension, and the cylinder is
246 oriented with its long axis along this one dimension. To avoid jumps in
247 the pull force, contributions of atoms are weighted as a function of distance
248 (in addition to the mass weighting):
249 \bea
250 w(r < r_\mathrm{cyl}) & = &
251 1-2 \left(\frac{r}{r_\mathrm{cyl}}\right)^2 + \left(\frac{r}{r_\mathrm{cyl}}\right)^4 \\
252 w(r \geq r_\mathrm{cyl}) & = & 0
253 \eea
254 Note that the radial dependence on the weight causes a radial force on
255 both cylinder group and the other pull group. This is an undesirable,
256 but unavoidable effect. To minimize this effect, the cylinder radius should
257 be chosen sufficiently large. The effective mass is 0.47 times that of
258 a cylinder with uniform weights and equal to the mass of uniform cylinder
259 of 0.79 times the radius.
260
261 \begin{figure}
262 \centerline{\includegraphics[width=6cm]{plots/pullref}}
263 \caption{Comparison of a plain center of mass reference group versus a cylinder
264 reference group applied to interface systems. C is the reference group.
265 The circles represent the center of mass of two groups plus the reference group,
266 $d_c$ is the reference distance.}
267 \label{fig:pullref} 
268 \end{figure}   
269
270 For a group of molecules in a periodic system, a plain reference group
271 might not be well-defined. An example is a water slab that is connected
272 periodically in $x$ and $y$, but has two liquid-vapor interfaces along $z$.
273 In such a setup, water molecules can evaporate from the liquid and they
274 will move through the vapor, through the periodic boundary, to the other
275 interface. Such a system is inherently periodic and there is no proper way
276 of defining a ``plain'' center of mass along $z$. A proper solution is to using
277 a cosine shaped weighting profile for all atoms in the reference group.
278 The profile is a cosine with a single period in the unit cell. Its phase
279 is optimized to give the maximum sum of weights, including mass weighting.
280 This provides a unique and continuous reference position that is nearly
281 identical to the plain center of mass position in case all atoms are all
282 within a half of the unit-cell length. See ref \cite{Engin2010a} for details.
283
284 When relative weights $w_i$ are used during the calculations, either
285 by supplying weights in the input or due to cylinder geometry
286 or due to cosine weighting,
287 the weights need to be scaled to conserve momentum:
288 \beq
289 w'_i = w_i
290 \left. \sum_{j=1}^N w_j \, m_j \right/ \sum_{j=1}^N w_j^2 \, m_j
291 \eeq
292 where $m_j$ is the mass of atom $j$ of the group.
293 The mass of the group, required for calculating the constraint force, is:
294 \beq
295 M = \sum_{i=1}^N w'_i \, m_i
296 \eeq
297 The definition of the weighted center of mass is:
298 \beq
299 \ve{r}_{com} = \left. \sum_{i=1}^N w'_i \, m_i \, \ve{r}_i \right/ M
300 \eeq
301 From the centers of mass the AFM, constraint, or umbrella force $\ve{F}_{\!com}$
302 on each group can be calculated.
303 The force on the center of mass of a group is redistributed to the atoms
304 as follows:
305 \beq
306 \ve{F}_{\!i} = \frac{w'_i \, m_i}{M} \, \ve{F}_{\!com}
307 \eeq
308
309 \subsubsection{Definition of the pull direction}
310
311 The most common setup is to pull along the direction of the vector containing
312 the two pull groups, this is selected with
313 {\tt pull-coord?-geometry = distance}. You might want to pull along a certain
314 vector instead, which is selected with {\tt pull-coord?-geometry = direction}.
315 But this can cause unwanted torque forces in the system, unless you pull against a reference group with (nearly) fixed orientation, e.g. a membrane protein embedded in a membrane along x/y while pulling along z. If your reference group does not have a fixed orientation, you should probably use
316 {\tt pull-coord?-geometry = direction-relative}, see \figref{pulldirrel}.
317 Since the potential now depends on the coordinates of two additional groups defining the orientation, the torque forces will work on these two groups.
318
319 \begin{figure}
320 \centerline{\includegraphics[width=5cm]{plots/pulldirrel}}
321 \caption{The pull setup for geometry {\tt direction-relative}. The ``normal'' pull groups are 1 and 2. Groups 3 and 4 define the pull direction and thus the direction of the normal pull forces (red). This leads to reaction forces (blue) on groups 3 and 4, which are perpendicular to the pull direction. Their magnitude is given by the ``normal'' pull force times the ratio of $d_p$ and the distance between groups 3 and 4.}
322 \label{fig:pulldirrel} 
323 \end{figure}   
324
325
326 \subsubsection{Limitations}
327 There is one theoretical limitation:
328 strictly speaking, constraint forces can only be calculated between
329 groups that are not connected by constraints to the rest of the system.
330 If a group contains part of a molecule of which the bond lengths
331 are constrained, the pull constraint and LINCS or SHAKE bond constraint
332 algorithms should be iterated simultaneously. This is not done in {\gromacs}.
333 This means that for simulations with {\tt constraints = all-bonds}
334 in the {\tt .mdp} file pulling is, strictly speaking,
335 limited to whole molecules or groups of molecules.
336 In some cases this limitation can be avoided by using the free energy code,
337 see \secref{fepmf}.
338 In practice, the errors caused by not iterating the two constraint
339 algorithms can be negligible when the pull group consists of a large
340 amount of atoms and/or the pull force is small.
341 In such cases, the constraint correction displacement of the pull group
342 is small compared to the bond lengths.
343
344
345
346 \section{\normindex{Enforced Rotation}}
347 \index{rotational pulling|see{enforced rotation}}
348 \index{pulling, rotational|see{enforced rotation}}
349 \label{sec:rotation}
350
351 \mathchardef\mhyphen="2D
352 \newcommand{\rotiso     }{^\mathrm{iso}}
353 \newcommand{\rotisopf   }{^\mathrm{iso\mhyphen pf}}
354 \newcommand{\rotpm      }{^\mathrm{pm}}
355 \newcommand{\rotpmpf    }{^\mathrm{pm\mhyphen pf}}
356 \newcommand{\rotrm      }{^\mathrm{rm}}
357 \newcommand{\rotrmpf    }{^\mathrm{rm\mhyphen pf}}
358 \newcommand{\rotrmtwo   }{^\mathrm{rm2}}
359 \newcommand{\rotrmtwopf }{^\mathrm{rm2\mhyphen pf}}
360 \newcommand{\rotflex    }{^\mathrm{flex}}
361 \newcommand{\rotflext   }{^\mathrm{flex\mhyphen t}}
362 \newcommand{\rotflextwo }{^\mathrm{flex2}}
363 \newcommand{\rotflextwot}{^\mathrm{flex2\mhyphen t}}
364
365 This module can be used to enforce the rotation of a group of atoms, as {\eg}
366 a protein subunit. There are a variety of rotation potentials, among them
367 complex ones that allow flexible adaptations of both the rotated subunit as
368 well as the local rotation axis during the simulation. An example application 
369 can be found in ref. \cite{Kutzner2011}.
370
371 \begin{figure}
372 \centerline{\includegraphics[width=13cm]{plots/rotation.pdf}}
373 \caption[Fixed and flexible axis rotation]{Comparison of fixed and flexible axis
374 rotation. 
375 {\sf A:} Rotating the sketched shape inside the white tubular cavity can create
376 artifacts when a fixed rotation axis (dashed) is used. More realistically, the
377 shape would revolve like a flexible pipe-cleaner (dotted) inside the bearing (gray). 
378 {\sf B:} Fixed rotation around an axis \ve{v} with a pivot point
379 specified by the vector \ve{u}. 
380 {\sf C:} Subdividing the rotating fragment into slabs with separate rotation
381 axes ($\uparrow$) and pivot points ($\bullet$) for each slab allows for
382 flexibility. The distance between two slabs with indices $n$ and $n+1$ is $\Delta x$.}
383 \label{fig:rotation}
384 \end{figure}
385
386 \begin{figure}
387 \centerline{\includegraphics[width=13cm]{plots/equipotential.pdf}}
388 \caption{Selection of different rotation potentials and definition of notation.
389 All four potentials $V$ (color coded) are shown for a single atom at position
390 $\ve{x}_j(t)$.
391 {\sf A:} Isotropic potential $V\rotiso$,
392 {\sf B:} radial motion potential $V\rotrm$ and flexible potential
393 $V\rotflex$,
394 {\sf C--D:} radial motion\,2 potential $V\rotrmtwo$ and
395 flexible\,2 potential $V\rotflextwo$ for $\epsilon' = 0$\,nm$^2$ {\sf (C)}
396 and $\epsilon' = 0.01$\,nm$^2$ {\sf (D)}. The rotation axis is perpendicular to
397 the plane and marked by $\otimes$. The light gray contours indicate Boltzmann factors
398 $e^{-V/(k_B T)}$ in the $\ve{x}_j$-plane for $T=300$\,K and
399 $k=200$\,kJ/(mol$\cdot$nm$^2$). The green arrow shows the direction of the
400 force $\ve{F}_{\!j}$ acting on atom $j$; the blue dashed line indicates the
401 motion of the reference position.}
402 \label{fig:equipotential}
403 \end{figure}
404
405 \subsection{Fixed Axis Rotation}
406 \subsubsection{Stationary Axis with an Isotropic Potential}
407 In the fixed axis approach (see \figref{rotation}B), torque on a group of $N$
408 atoms with positions $\ve{x}_i$ (denoted ``rotation group'') is applied by
409 rotating a reference set of atomic positions -- usually their initial positions
410 $\ve{y}_i^0$ -- at a constant angular velocity $\omega$ around an axis
411 defined by a direction vector $\hat{\ve{v}}$ and a pivot point \ve{u}.
412 To that aim, each atom with position $\ve{x}_i$ is attracted by a
413 ``virtual spring'' potential to its moving reference position
414 $\ve{y}_i = \mathbf{\Omega}(t) (\ve{y}_i^0 - \ve{u})$,
415 where $\mathbf{\Omega}(t)$ is a matrix that describes the rotation around the
416 axis. In the simplest case, the ``springs'' are described by a harmonic
417 potential,
418 \beq
419 V\rotiso = \frac{k}{2} \sum_{i=1}^{N} w_i \left[ \mathbf{\Omega}(t)
420 (\ve{y}_i^0 - \ve{u}) - (\ve{x}_i - \ve{u})  \right]^2 ,
421 \label{eqn:potiso}
422 \eeq
423 with optional mass-weighted prefactors $w_i = N \, m_i/M$ with total mass
424 $M = \sum_{i=1}^N m_i$.
425 The rotation matrix $\mathbf{\Omega}(t)$ is 
426 \newcommand{\omcost}{\,\xi\,}   % abbreviation
427 \begin{displaymath}
428 \mathbf{\Omega}(t) =  
429 \left(   
430 \begin{array}{ccc}
431 \cos\omega t + v_x^2\omcost       & v_x v_y\omcost - v_z\sin\omega t  & v_x v_z\omcost + v_y\sin\omega t\\
432 v_x v_y\omcost + v_z\sin\omega t  & \cos\omega t + v_y^2\omcost       & v_y v_z\omcost - v_x\sin\omega t\\
433 v_x v_z\omcost - v_y\sin\omega t  & v_y v_z\omcost + v_x\sin\omega t  & \cos\omega t + v_z^2\omcost     \\
434 \end{array}
435 \right) ,
436 \end{displaymath}
437 where $v_x$, $v_y$, and $v_z$ are the components of the normalized rotation vector
438 $\hat{\ve{v}}$, and $\omcost := 1-\cos(\omega t)$. As illustrated in
439 \figref{equipotential}A for a single atom $j$, the
440 rotation matrix $\mathbf{\Omega}(t)$ operates on the initial reference positions
441 $\ve{y}_j^0 = \ve{x}_j(t_0)$ of atom $j$ at $t=t_0$. At a later
442 time $t$, the reference position has rotated away from its initial place
443 (along the blue dashed line), resulting in the force
444 \beq
445 \ve{F}_{\!j}\rotiso 
446 = -\nabla_{\!j} \, V\rotiso 
447 = k \, w_j \left[
448 \mathbf{\Omega}(t) (\ve{y}_j^0 - \ve{u}) - (\ve{x}_j - \ve{u} ) \right] ,
449 \label{eqn:force_fixed}
450 \eeq
451 which is directed towards the reference position.
452
453
454 \subsubsection{Pivot-Free Isotropic Potential}
455 Instead of a fixed pivot vector \ve{u} this potential uses the center of
456 mass $\ve{x}_c$ of the rotation group as pivot for the rotation axis,
457 \beq
458 \ve{x}_c   = \frac{1}{M} \sum_{i=1}^N m_i \ve{x}_i 
459 \label{eqn:com}
460 \mbox{\hspace{4ex}and\hspace{4ex}}
461 \ve{y}_c^0 = \frac{1}{M} \sum_{i=1}^N m_i \ve{y}_i^0 \ ,
462 \eeq
463 which yields the ``pivot-free'' isotropic potential
464 \beq
465 V\rotisopf = \frac{k}{2} \sum_{i=1}^{N} w_i \left[ \mathbf{\Omega}(t)
466 (\ve{y}_i^0 - \ve{y}_c^0) - (\ve{x}_i - \ve{x}_c) \right]^2 ,
467 \label{eqn:potisopf}
468 \eeq
469 with forces
470 \beq
471 \mathbf{F}_{\!j}\rotisopf = k \, w_j 
472 \left[ 
473 \mathbf{\Omega}(t) ( \ve{y}_j^0 - \ve{y}_c^0) 
474                  - ( \ve{x}_j   - \ve{x}_c )
475 \right] .
476 \label{eqn:force_isopf}
477 \eeq
478 Without mass-weighting, the pivot $\ve{x}_c$ is the geometrical center of
479 the group. 
480 \label{sec:fixed}
481
482 \subsubsection{Parallel Motion Potential Variant}
483 The forces generated by the isotropic potentials
484 (\eqnsref{potiso}{potisopf}) also contain components parallel
485 to the rotation axis and thereby restrain motions along the axis of either the
486 whole rotation group (in case of $V\rotiso$) or within
487 the rotation group (in case of $V\rotisopf$). For cases where
488 unrestrained motion along the axis is preferred, we have implemented a 
489 ``parallel motion'' variant by eliminating all components parallel to the
490 rotation axis for the potential. This is achieved by projecting the distance
491 vectors between reference and actual positions
492 \beq
493 \ve{r}_i = \mathbf{\Omega}(t) (\ve{y}_i^0 - \ve{u}) - (\ve{x}_i - \ve{u})
494 \eeq
495 onto the plane perpendicular to the rotation vector,
496 \beq
497 \label{eqn:project}
498 \ve{r}_i^\perp :=  \ve{r}_i - (\ve{r}_i \cdot \hat{\ve{v}})\hat{\ve{v}} \ ,
499 \eeq
500 yielding
501 \bea
502 \nonumber
503 V\rotpm &=& \frac{k}{2} \sum_{i=1}^{N} w_i ( \ve{r}_i^\perp )^2 \\
504         &=& \frac{k}{2} \sum_{i=1}^{N} w_i
505  \left\lbrace
506  \mathbf{\Omega}(t)
507    (\ve{y}_i^0 - \ve{u}) - (\ve{x}_i - \ve{u})  \right. \nonumber \\
508 && \left. - \left\lbrace
509 \left[ \mathbf{\Omega}(t)(\ve{y}_i^0 - \ve{u}) - (\ve{x}_i - \ve{u}) \right] \cdot\hat{\ve{v}}
510   \right\rbrace\hat{\ve{v}} \right\rbrace^2 ,
511 \label{eqn:potpm}
512 \eea
513 and similarly
514 \beq
515 \ve{F}_{\!j}\rotpm = k \, w_j \, \ve{r}_j^\perp .
516 \label{eqn:force_pm}
517 \eeq
518
519 \subsubsection{Pivot-Free Parallel Motion Potential}
520 Replacing in \eqnref{potpm} the fixed pivot \ve{u} by the center 
521 of mass $\ve{x_c}$ yields the pivot-free variant of the parallel motion
522 potential. With
523 \beq
524 \ve{s}_i = \mathbf{\Omega}(t) (\ve{y}_i^0 - \ve{y}_c^0) - (\ve{x}_i - \ve{x}_c)
525 \eeq
526 the respective potential and forces are
527 \bea
528 V\rotpmpf &=& \frac{k}{2} \sum_{i=1}^{N} w_i ( \ve{s}_i^\perp )^2 \ , \\
529 \label{eqn:potpmpf}
530 \ve{F}_{\!j}\rotpmpf &=& k \, w_j \, \ve{s}_j^\perp .
531 \label{eqn:force_pmpf}
532 \eea
533
534 \subsubsection{Radial Motion Potential}
535 In the above variants, the minimum of the rotation potential is either a single
536 point at the reference position $\ve{y}_i$ (for the isotropic potentials) or a
537 single line through $\ve{y}_i$ parallel to the rotation axis (for the
538 parallel motion potentials). As a result, radial forces restrict radial motions
539 of the atoms. The two subsequent types of rotation potentials, $V\rotrm$
540 and $V\rotrmtwo$, drastically reduce or even eliminate this effect. The first
541 variant, $V\rotrm$ (\figref{equipotential}B), eliminates all force
542 components parallel to the vector connecting the reference atom and the
543 rotation axis,
544 \beq
545 V\rotrm = \frac{k}{2} \sum_{i=1}^{N} w_i \left[
546 \ve{p}_i
547 \cdot(\ve{x}_i - \ve{u}) \right]^2 ,
548 \label{eqn:potrm}
549 \eeq
550 with
551 \beq
552 \ve{p}_i := 
553 \frac{\hat{\ve{v}}\times \mathbf{\Omega}(t) (\ve{y}_i^0 - \ve{u})} {\| \hat{\ve{v}}\times \mathbf{\Omega}(t) (\ve{y}_i^0 - \ve{u})\|} \ .
554 \eeq
555 This variant depends only on the distance $\ve{p}_i \cdot (\ve{x}_i -
556 \ve{u})$ of atom $i$ from the plane spanned by $\hat{\ve{v}}$ and
557 $\mathbf{\Omega}(t)(\ve{y}_i^0 - \ve{u})$. The resulting force is
558 \beq
559 \mathbf{F}_{\!j}\rotrm =
560  -k \, w_j \left[ \ve{p}_j\cdot(\ve{x}_j - \ve{u}) \right] \,\ve{p}_j \,  .
561 \label{eqn:potrm_force}
562 \eeq
563
564 \subsubsection{Pivot-Free Radial Motion Potential}
565 Proceeding similar to the pivot-free isotropic potential yields a pivot-free
566 version of the above potential. With
567 \beq
568 \ve{q}_i := 
569 \frac{\hat{\ve{v}}\times \mathbf{\Omega}(t) (\ve{y}_i^0 - \ve{y}_c^0)} {\| \hat{\ve{v}}\times \mathbf{\Omega}(t) (\ve{y}_i^0 - \ve{y}_c^0)\|} \, ,
570 \eeq
571 the potential and force for the pivot-free variant of the radial motion potential read
572 \bea
573 V\rotrmpf & = & \frac{k}{2} \sum_{i=1}^{N} w_i \left[
574 \ve{q}_i
575 \cdot(\ve{x}_i - \ve{x}_c)
576 \right]^2 \, , \\
577 \label{eqn:potrmpf}
578 \mathbf{F}_{\!j}\rotrmpf & = &
579  -k \, w_j \left[ \ve{q}_j\cdot(\ve{x}_j - \ve{x}_c) \right] \,\ve{q}_j 
580  + k   \frac{m_j}{M} \sum_{i=1}^{N} w_i \left[
581  \ve{q}_i\cdot(\ve{x}_i - \ve{x}_c) \right]\,\ve{q}_i \, .
582 \label{eqn:potrmpf_force}
583 \eea
584
585 \subsubsection{Radial Motion 2 Alternative Potential}
586 As seen in \figref{equipotential}B, the force resulting from
587 $V\rotrm$ still contains a small, second-order radial component. In most
588 cases, this perturbation is tolerable; if not, the following
589 alternative, $V\rotrmtwo$, fully eliminates the radial contribution to the
590 force, as depicted in \figref{equipotential}C,
591 \beq
592 V\rotrmtwo = 
593 \frac{k}{2} \sum_{i=1}^{N} w_i\, 
594 \frac{\left[ (\hat{\ve{v}} \times ( \ve{x}_i - \ve{u} ))
595 \cdot \mathbf{\Omega}(t)(\ve{y}_i^0 - \ve{u}) \right]^2}
596 {\| \hat{\ve{v}} \times (\ve{x}_i - \ve{u}) \|^2 +
597 \epsilon'} \, ,
598 \label{eqn:potrm2}
599 \eeq
600 where a small parameter $\epsilon'$ has been introduced to avoid singularities.
601 For $\epsilon'=0$\,nm$^2$, the equipotential planes are spanned by $\ve{x}_i -
602 \ve{u}$ and $\hat{\ve{v}}$, yielding a force 
603 perpendicular to $\ve{x}_i - \ve{u}$, thus not contracting or
604 expanding structural parts that moved away from or toward the rotation axis.
605
606 Choosing a small positive  $\epsilon'$ ({\eg},
607 $\epsilon'=0.01$\,nm$^2$, \figref{equipotential}D) in the denominator of
608 \eqnref{potrm2} yields a well-defined potential and continuous forces also 
609 close to the rotation axis, which is not the case for $\epsilon'=0$\,nm$^2$ 
610 (\figref{equipotential}C). With
611 \bea
612 \ve{r}_i & := & \mathbf{\Omega}(t)(\ve{y}_i^0 - \ve{u})\\
613 \ve{s}_i & := & \frac{\hat{\ve{v}} \times (\ve{x}_i -
614 \ve{u} ) }{ \| \hat{\ve{v}} \times (\ve{x}_i - \ve{u})
615 \| } \equiv \; \Psi_{i} \;\; {\hat{\ve{v}} \times
616 (\ve{x}_i-\ve{u} ) }\\
617 \Psi_i^{*}   & := & \frac{1}{ \| \hat{\ve{v}} \times
618 (\ve{x}_i-\ve{u}) \|^2 + \epsilon'}
619 \eea
620 the force on atom $j$ reads
621 \beq
622 \ve{F}_{\!j}\rotrmtwo  = 
623 - k\; 
624 \left\lbrace w_j\;
625 (\ve{s}_j\cdot\ve{r}_{\!j})\;
626 \left[ \frac{\Psi_{\!j}^*   }{\Psi_{\!j}  }  \ve{r}_{\!j} 
627      - \frac{\Psi_{\!j}^{*2}}{\Psi_{\!j}^3}
628      (\ve{s}_j\cdot\ve{r}_{\!j})\ve{s}_j \right]
629 \right\rbrace \times \hat{\ve{v}} .
630 \label{eqn:potrm2_force}
631 \eeq
632
633 \subsubsection{Pivot-Free Radial Motion 2 Potential}
634 The pivot-free variant of the above potential is
635 \beq
636 V\rotrmtwopf = 
637 \frac{k}{2} \sum_{i=1}^{N} w_i\, 
638 \frac{\left[ (\hat{\ve{v}} \times ( \ve{x}_i - \ve{x}_c ))
639 \cdot \mathbf{\Omega}(t)(\ve{y}_i^0 - \ve{y}_c) \right]^2}
640 {\| \hat{\ve{v}} \times (\ve{x}_i - \ve{x}_c) \|^2 +
641 \epsilon'} \, .
642 \label{eqn:potrm2pf}
643 \eeq
644 With
645 \bea
646 \ve{r}_i & := & \mathbf{\Omega}(t)(\ve{y}_i^0 - \ve{y}_c)\\
647 \ve{s}_i & := & \frac{\hat{\ve{v}} \times (\ve{x}_i -
648 \ve{x}_c ) }{ \| \hat{\ve{v}} \times (\ve{x}_i - \ve{x}_c)
649 \| } \equiv \; \Psi_{i} \;\; {\hat{\ve{v}} \times
650 (\ve{x}_i-\ve{x}_c ) }\\ \Psi_i^{*}   & := & \frac{1}{ \| \hat{\ve{v}} \times
651 (\ve{x}_i-\ve{x}_c) \|^2 + \epsilon'}
652 \eea
653 the force on atom $j$ reads
654 \bea
655 \nonumber
656 \ve{F}_{\!j}\rotrmtwopf & = &
657 - k\; 
658 \left\lbrace w_j\;
659 (\ve{s}_j\cdot\ve{r}_{\!j})\;
660 \left[ \frac{\Psi_{\!j}^*   }{\Psi_{\!j}  } \ve{r}_{\!j} 
661      - \frac{\Psi_{\!j}^{*2}}{\Psi_{\!j}^3}
662      (\ve{s}_j\cdot\ve{r}_{\!j})\ve{s}_j \right]
663 \right\rbrace \times \hat{\ve{v}}\\
664      & &
665 + k\;\frac{m_j}{M} \left\lbrace \sum_{i=1}^{N}
666 w_i\;(\ve{s}_i\cdot\ve{r}_i) \; 
667 \left[ \frac{\Psi_i^*   }{\Psi_i  }  \ve{r}_i
668      - \frac{\Psi_i^{*2}}{\Psi_i^3} (\ve{s}_i\cdot\ve{r}_i )\;
669      \ve{s}_i \right] \right\rbrace \times \hat{\ve{v}} \, .
670 \label{eqn:potrm2pf_force}
671 \eea
672
673 \subsection{Flexible Axis Rotation}
674 As sketched in \figref{rotation}A--B, the rigid body behavior of
675 the fixed axis rotation scheme is a drawback for many applications. In
676 particular, deformations of the rotation group are suppressed when the
677 equilibrium atom positions directly depend on the reference positions. 
678 To avoid this limitation, \eqnsref{potrmpf}{potrm2pf}
679 will now be generalized towards a ``flexible axis'' as sketched in
680 \figref{rotation}C. This will be achieved by subdividing the
681 rotation group into a set of equidistant slabs perpendicular to
682 the rotation vector, and by applying a separate rotation potential to each
683 of these slabs. \figref{rotation}C shows the midplanes of the slabs 
684 as dotted straight lines and the centers as thick black dots.
685
686 To avoid discontinuities in the potential and in the forces, we define
687 ``soft slabs'' by weighing the contributions of each
688 slab $n$ to the total potential function $V\rotflex$ by a Gaussian
689 function
690 \beq
691 \label{eqn:gaussian}
692 g_n(\ve{x}_i) = \Gamma \ \mbox{exp} \left(
693 -\frac{\beta_n^2(\ve{x}_i)}{2\sigma^2}  \right) ,
694 \eeq
695 centered at the midplane of the $n$th slab. Here $\sigma$ is the width
696 of the Gaussian function, $\Delta x$ the distance between adjacent slabs, and
697 \beq
698 \beta_n(\ve{x}_i) := \ve{x}_i \cdot \hat{\ve{v}} - n \, \Delta x \, .
699 \eeq
700 %
701 \begin{figure}
702 \centerline{\includegraphics[width=6.5cm]{plots/gaussians.pdf}}
703 \caption{Gaussian functions $g_n$ centered at $n \, \Delta x$ for a slab
704 distance $\Delta x = 1.5$ nm and $n \geq -2$. Gaussian function $g_0$ is
705 highlighted in bold; the dashed line depicts the sum of the shown Gaussian
706 functions.}
707 \label{fig:gaussians}
708 \end{figure}
709 %
710 A most convenient choice is $\sigma = 0.7 \Delta x$ and
711 \begin{displaymath}
712 1/\Gamma = \sum_{n \in Z}
713 \mbox{exp}
714 \left(-\frac{(n - \frac{1}{4})^2}{2\cdot 0.7^2}\right)
715 \approx 1.75464 \, ,
716 \end{displaymath}
717 which yields a nearly constant sum, essentially independent of $\ve{x}_i$
718 (dashed line in \figref{gaussians}), {\ie},
719 \beq
720 \sum_{n \in Z} g_n(\ve{x}_i) =  1 + \epsilon(\ve{x}_i) \, ,
721 \label{eqn:normal}
722 \eeq
723 with $ | \epsilon(\ve{x}_i) | < 1.3\cdot 10^{-4}$. This choice also
724 implies that the individual contributions to the force from the slabs add up to
725 unity such that no further normalization is required.
726
727 To each slab center $\ve{x}_c^n$, all atoms contribute by their
728 Gaussian-weighted (optionally also mass-weighted) position vectors 
729 $g_n(\ve{x}_i) \, \ve{x}_i$. The
730 instantaneous slab centers $\ve{x}_c^n$ are calculated from the
731 current positions $\ve{x}_i$,
732 \beq
733 \label{eqn:defx0} 
734 \ve{x}_c^n =
735 \frac{\sum_{i=1}^N g_n(\ve{x}_i) \, m_i \, \ve{x}_i}
736      {\sum_{i=1}^N g_n(\ve{x}_i) \, m_i} \, ,\\
737 \eeq
738 while the reference centers $\ve{y}_c^n$ are calculated from the reference 
739 positions $\ve{y}_i^0$,
740 \beq
741 \label{eqn:defy0}
742 \ve{y}_c^n =
743 \frac{\sum_{i=1}^N g_n(\ve{y}_i^0) \, m_i \, \ve{y}_i^0}
744      {\sum_{i=1}^N g_n(\ve{y}_i^0) \, m_i} \, .
745 \eeq
746 Due to the rapid decay of $g_n$, each slab
747 will essentially involve contributions from atoms located within $\approx
748 3\Delta x$ from the slab center only.
749
750 \subsubsection{Flexible Axis Potential}
751 We consider two flexible axis variants. For the first variant,
752 the slab segmentation procedure with Gaussian weighting is applied to the radial 
753 motion potential (\eqnref{potrmpf}\,/\,\figref{equipotential}B),
754 yielding as the contribution of slab $n$
755 \begin{displaymath}
756 V^n = 
757 \frac{k}{2} \sum_{i=1}^{N} w_i \, g_n(\ve{x}_i) 
758 \left[
759 \ve{q}_i^n
760 \cdot
761  (\ve{x}_i - \ve{x}_c^n) 
762 \right]^2  ,
763 \label{eqn:flexpot}
764 \end{displaymath}
765 and a total potential function
766 \beq 
767 V\rotflex = \sum_n V^n \, .
768 \label{eqn:potflex}
769 \eeq
770 Note that the global center of mass $\ve{x}_c$ used in
771 \eqnref{potrmpf} is now replaced by $\ve{x}_c^n$, the center of mass of
772 the slab. With
773 \bea
774 \ve{q}_i^n & := & \frac{\hat{\ve{v}} \times
775 \mathbf{\Omega}(t)(\ve{y}_i^0 - \ve{y}_c^n) }{ \| \hat{\ve{v}}
776 \times \mathbf{\Omega}(t)(\ve{y}_i^0 - \ve{y}_c^n) \| } \\
777 b_i^n         & := & \ve{q}_i^n \cdot (\ve{x}_i - \ve{x}_c^n) \, ,
778 \eea
779 the resulting force on atom $j$ reads
780 \bea
781 \nonumber\hspace{-15mm}
782 \ve{F}_{\!j}\rotflex &=&
783 - \, k \, w_j \sum_n g_n(\ve{x}_j) \, b_j^n \left\lbrace  \ve{q}_j^n -
784 b_j^n \frac{\beta_n(\ve{x}_j)}{2\sigma^2} \hat{\ve{v}} \right\rbrace \\ & &
785 + \, k \, m_j \sum_n \frac{g_n(\ve{x}_j)}{\sum_h g_n(\ve{x}_h)}
786 \sum_{i=1}^{N} w_i \, g_n(\ve{x}_i) \, b_i^n \left\lbrace 
787 \ve{q}_i^n -\frac{\beta_n(\ve{x}_j)}{\sigma^2}
788 \left[ \ve{q}_i^n \cdot (\ve{x}_j - \ve{x}_c^n )\right]
789 \hat{\ve{v}} \right\rbrace .
790 \label{eqn:potflex_force}
791 \eea
792 %
793 Note that for $V\rotflex$, as defined, the slabs are fixed in space and so
794 are the reference centers $\ve{y}_c^n$. If during the simulation the
795 rotation group moves too far in $\ve{v}$ direction, it may enter a
796 region where -- due to the lack of nearby reference positions -- no reference
797 slab centers are defined, rendering the potential evaluation impossible. 
798 We therefore have included a slightly modified version of this potential that
799 avoids this problem by attaching the midplane of slab $n=0$ to the center of mass 
800 of the rotation group, yielding slabs that move with the rotation group. 
801 This is achieved by subtracting the center of mass $\ve{x}_c$ of the
802 group from the positions, 
803 \beq
804 \tilde{\ve{x}}_i = \ve{x}_i - \ve{x}_c \, , \mbox{\ \ \ and \ \ } 
805 \tilde{\ve{y}}_i^0 = \ve{y}_i^0 - \ve{y}_c^0 \, ,
806 \label{eqn:trafo} 
807 \eeq
808 such that
809 \bea
810 V\rotflext 
811   & = & \frac{k}{2} \sum_n \sum_{i=1}^{N} w_i \, g_n(\tilde{\ve{x}}_i)
812   \left[ \frac{\hat{\ve{v}} \times \mathbf{\Omega}(t)(\tilde{\ve{y}}_i^0
813   - \tilde{\ve{y}}_c^n) }{ \| \hat{\ve{v}} \times
814 \mathbf{\Omega}(t)(\tilde{\ve{y}}_i^0 -
815 \tilde{\ve{y}}_c^n) \| }
816 \cdot
817  (\tilde{\ve{x}}_i - \tilde{\ve{x}}_c^n) 
818 \right]^2 .
819 \label{eqn:potflext}
820 \eea
821 To simplify the force derivation, and for efficiency reasons, we here assume
822 $\ve{x}_c$ to be constant, and thus $\partial \ve{x}_c / \partial x =
823 \partial \ve{x}_c / \partial y = \partial \ve{x}_c / \partial z = 0$. The
824 resulting force error is small (of order $O(1/N)$ or $O(m_j/M)$ if
825 mass-weighting is applied) and can therefore be tolerated. With this assumption,
826 the forces $\ve{F}\rotflext$ have the same form as
827 \eqnref{potflex_force}.
828
829 \subsubsection{Flexible Axis 2 Alternative Potential}
830 In this second variant, slab segmentation is applied to $V\rotrmtwo$
831 (\eqnref{potrm2pf}), resulting in a flexible axis potential without radial
832 force contributions (\figref{equipotential}C),
833 \beq
834 V\rotflextwo = 
835 \frac{k}{2} \sum_{i=1}^{N} \sum_n w_i\,g_n(\ve{x}_i) 
836 \frac{\left[ (\hat{\ve{v}} \times ( \ve{x}_i - \ve{x}_c^n ))
837 \cdot \mathbf{\Omega}(t)(\ve{y}_i^0 - \ve{y}_c^n) \right]^2}
838 {\| \hat{\ve{v}} \times (\ve{x}_i - \ve{x}_c^n) \|^2 +
839 \epsilon'} \, .
840 \label{eqn:potflex2}
841 \eeq
842 With
843 \bea
844 \ve{r}_i^n & := & \mathbf{\Omega}(t)(\ve{y}_i^0 - \ve{y}_c^n)\\
845 \ve{s}_i^n & := & \frac{\hat{\ve{v}} \times (\ve{x}_i -
846 \ve{x}_c^n ) }{ \| \hat{\ve{v}} \times (\ve{x}_i - \ve{x}_c^n)
847 \| } \equiv \; \psi_{i} \;\; {\hat{\ve{v}} \times (\ve{x}_i-\ve{x}_c^n ) }\\
848 \psi_i^{*}     & := & \frac{1}{ \| \hat{\ve{v}} \times (\ve{x}_i-\ve{x}_c^n) \|^2 + \epsilon'}\\ 
849 W_j^n          & := & \frac{g_n(\ve{x}_j)\,m_j}{\sum_h g_n(\ve{x}_h)\,m_h}\\
850 \ve{S}^n   & := & 
851 \sum_{i=1}^{N} w_i\;g_n(\ve{x}_i)
852 \; (\ve{s}_i^n\cdot\ve{r}_i^n)
853 \left[ \frac{\psi_i^*   }{\psi_i  }  \ve{r}_i^n
854      - \frac{\psi_i^{*2}}{\psi_i^3} (\ve{s}_i^n\cdot\ve{r}_i^n )\;
855      \ve{s}_i^n \right] \label{eqn:Sn}
856 \eea
857 the force on atom $j$ reads
858 \bea
859 \nonumber
860 \ve{F}_{\!j}\rotflextwo & = &
861 - k\; 
862 \left\lbrace \sum_n w_j\;g_n(\ve{x}_j)\;
863 (\ve{s}_j^n\cdot\ve{r}_{\!j}^n)\;
864 \left[ \frac{\psi_j^*   }{\psi_j  }  \ve{r}_{\!j}^n 
865      - \frac{\psi_j^{*2}}{\psi_j^3} (\ve{s}_j^n\cdot\ve{r}_{\!j}^n)\;
866      \ve{s}_{\!j}^n \right] \right\rbrace \times \hat{\ve{v}} \\
867 \nonumber
868 & &
869 + k \left\lbrace \sum_n W_{\!j}^n \, \ve{S}^n \right\rbrace \times
870 \hat{\ve{v}}
871 - k \left\lbrace \sum_n W_{\!j}^n \; \frac{\beta_n(\ve{x}_j)}{\sigma^2} \frac{1}{\psi_j}\;\; 
872 \ve{s}_j^n \cdot 
873 \ve{S}^n \right\rbrace \hat{\ve{v}}\\ 
874 & & 
875 + \frac{k}{2} \left\lbrace \sum_n w_j\;g_n(\ve{x}_j)
876 \frac{\beta_n(\ve{x}_j)}{\sigma^2} 
877 \frac{\psi_j^*}{\psi_j^2}( \ve{s}_j^n \cdot \ve{r}_{\!j}^n )^2 \right\rbrace
878 \hat{\ve{v}} .
879 \label{eqn:potflex2_force}
880 \eea
881
882 Applying transformation (\ref{eqn:trafo}) yields a ``translation-tolerant''
883 version of the flexible\,2 potential, $V\rotflextwot$. Again,
884 assuming that $\partial \ve{x}_c / \partial x$,  $\partial \ve{x}_c /
885 \partial y$, $\partial \ve{x}_c / \partial z$ are small, the
886 resulting equations for $V\rotflextwot$ and $\ve{F}\rotflextwot$ are
887 similar to those of $V\rotflextwo$ and $\ve{F}\rotflextwo$.
888
889 \subsection{Usage}
890 To apply enforced rotation, the particles $i$ that are to
891 be subjected to one of the rotation potentials are defined via index groups
892 {\tt rot-group0}, {\tt rot-group1}, etc., in the {\tt .mdp} input file. 
893 The reference positions $\ve{y}_i^0$ are
894 read from a special {\tt .trr} file provided to {\tt grompp}. If no such file is found,
895 $\ve{x}_i(t=0)$ are used as reference positions and written to {\tt .trr} such
896 that they can be used for subsequent setups. All parameters of the potentials
897 such as $k$, $\epsilon'$, etc. (\tabref{vars}) are provided as {\tt .mdp}
898 parameters; {\tt rot-type} selects the type of the potential. 
899 The option {\tt rot-massw} allows to choose whether or not to use
900 mass-weighted averaging. 
901 For the flexible potentials, a cutoff value $g_n^\mathrm{min}$ 
902 (typically  $g_n^\mathrm{min}=0.001$) makes shure that only
903 significant contributions to $V$ and \ve{F} are evaluated, {\ie} terms with 
904 $g_n(\ve{x}) < g_n^\mathrm{min}$ are omitted.
905 \tabref{quantities} summarizes observables that are written
906 to additional output files and which are described below.
907
908
909 \begin{table}[tbp]
910 \caption{Parameters used by the various rotation potentials.
911 {\sf x}'s indicate which parameter is actually used for a given potential.}
912 %\small
913
914 \newcommand{\kunit}{$\frac{\mathrm{kJ}}{\mathrm{mol} \cdot \mathrm{nm}^2}$}
915 \newcommand{\smtt}[1]{{\hspace{-0.5ex}\small #1\hspace{-0.5ex}}}
916 \label{tab:vars}
917 \begin{center}
918 \begin{tabular}{l>{$}l<{$}rccccccc}
919 \hline
920 parameter           &               &                      & $k$      & $\hat{\ve{v}}$ & $\ve{u}$     & $\omega$    & $\epsilon'$ & $\Delta x$        & $g_n^\mathrm{min}$ \\
921 \multicolumn{3}{l}{{\tt .mdp} input variable name}         & \smtt{k} & \smtt{vec}     & \smtt{pivot} & \smtt{rate} & \smtt{eps}  & \smtt{slab-dist}  & \smtt{min-gauss}   \\
922 unit                &               &                      & \kunit   & -              & nm           & $^\circ$/ps & nm$^2$      & nm                & \,-\,              \\[1mm]
923 \hline \multicolumn{2}{l}{fixed axis potentials:} & eqn.\\
924 isotropic           & V\rotiso      & (\ref{eqn:potiso})   & {\sf x}  & {\sf x}        & {\sf x}      & {\sf x}     & -           & -                 &  -                 \\
925 --- pivot-free      & V\rotisopf    & (\ref{eqn:potisopf}) & {\sf x}  & {\sf x}        & -            & {\sf x}     & -           & -                 &  -                 \\
926 parallel motion     & V\rotpm       & (\ref{eqn:potpm})    & {\sf x}  & {\sf x}        & {\sf x}      & {\sf x}     & -           & -                 &  -                 \\
927 --- pivot-free      & V\rotpmpf     & (\ref{eqn:potpmpf})  & {\sf x}  & {\sf x}        & -            & {\sf x}     & -           & -                 &  -                 \\
928 radial motion       & V\rotrm       & (\ref{eqn:potrm})    & {\sf x}  & {\sf x}        & {\sf x}      & {\sf x}     & -           & -                 &  -                 \\
929 --- pivot-free      & V\rotrmpf     & (\ref{eqn:potrmpf})  & {\sf x}  & {\sf x}        & -            & {\sf x}     & -           & -                 &  -                 \\
930 radial motion\,2    & V\rotrmtwo    & (\ref{eqn:potrm2})   & {\sf x}  & {\sf x}        & {\sf x}      & {\sf x}     & {\sf x}     & -                 &  -                 \\
931 --- pivot-free      & V\rotrmtwopf  & (\ref{eqn:potrm2pf}) & {\sf x}  & {\sf x}        & -            & {\sf x}     & {\sf x}     & -                 &  -                 \\ \hline
932 \multicolumn{2}{l}{flexible axis potentials:}  & eqn.\\
933 flexible            & V\rotflex     & (\ref{eqn:potflex})  & {\sf x}  & {\sf x}        & -            & {\sf x}     & -           & {\sf x}           &  {\sf x}           \\
934 --- transl. tol.    & V\rotflext    & (\ref{eqn:potflext}) & {\sf x}  & {\sf x}        & -            & {\sf x}     & -           & {\sf x}           &  {\sf x}           \\
935 flexible\,2         & V\rotflextwo  & (\ref{eqn:potflex2}) & {\sf x}  & {\sf x}        & -            & {\sf x}     & {\sf x}     & {\sf x}           &  {\sf x}           \\
936 --- transl. tol.    & V\rotflextwot &  -                   & {\sf x}  & {\sf x}        & -            & {\sf x}     & {\sf x}     & {\sf x}           &  {\sf x}           \\
937 \hline
938 \end{tabular}
939 \end{center}
940 \end{table}
941
942 \begin{table}
943 \caption{Quantities recorded in output files during enforced rotation simulations.
944 All slab-wise data is written every {\tt nstsout} steps, other rotation data every {\tt nstrout} steps.}
945 \label{tab:quantities}
946 \begin{center}
947 \begin{tabular}{llllcc}
948 \hline
949 quantity                                             & unit    & equation                          & output file     & fixed   & flexible\\ \hline
950 $V(t)$                                               & kJ/mol  & see \ref{tab:vars}                & {\tt rotation}  & {\sf x} & {\sf x} \\
951 $\theta_\mathrm{ref}(t)$                             & degrees & $\theta_\mathrm{ref}(t)=\omega t$ & {\tt rotation}  & {\sf x} & {\sf x} \\
952 $\theta_\mathrm{av}(t)$                              & degrees & (\ref{eqn:avangle})               & {\tt rotation}  & {\sf x} & -       \\
953 $\theta_\mathrm{fit}(t)$, $\theta_\mathrm{fit}(t,n)$ & degrees & (\ref{eqn:rmsdfit})               & {\tt rotangles} & -       & {\sf x} \\
954 $\ve{y}_0(n)$, $\ve{x}_0(t,n)$                       & nm      & (\ref{eqn:defx0}, \ref{eqn:defy0})& {\tt rotslabs}  & -       & {\sf x} \\
955 $\tau(t)$                                            & kJ/mol  & (\ref{eqn:torque})                & {\tt rotation}  & {\sf x} & -       \\
956 $\tau(t,n)$                                          & kJ/mol  & (\ref{eqn:torque})                & {\tt rottorque} & -       & {\sf x} \\ \hline
957 \end{tabular}
958 \end{center}
959 \end{table}
960
961
962 \subsubsection*{Angle of Rotation Groups: Fixed Axis}
963 For fixed axis rotation, the average angle $\theta_\mathrm{av}(t)$ of the 
964 group relative to the reference group is determined via the distance-weighted
965 angular deviation of all rotation group atoms from their reference positions,
966 \beq
967 \theta_\mathrm{av} = \left. \sum_{i=1}^{N} r_i \ \theta_i \right/ \sum_{i=1}^N r_i \ .
968 \label{eqn:avangle}
969 \eeq
970 Here, $r_i$ is the distance of the reference position to the rotation axis, and
971 the difference angles $\theta_i$ are determined from the atomic positions, 
972 projected onto a plane perpendicular to the rotation axis through pivot point
973 $\ve{u}$ (see \eqnref{project} for the definition of $\perp$),
974 \beq
975 \cos \theta_i = 
976 \frac{(\ve{y}_i-\ve{u})^\perp \cdot (\ve{x}_i-\ve{u})^\perp}
977      { \| (\ve{y}_i-\ve{u})^\perp \cdot (\ve{x}_i-\ve{u})^\perp
978      \| } \ .
979 \eeq
980 %
981 The sign of $\theta_\mathrm{av}$ is chosen such that
982 $\theta_\mathrm{av} > 0$ if the actual structure rotates ahead of the reference.
983
984 \subsubsection*{Angle of Rotation Groups: Flexible Axis}
985 For flexible axis rotation, two outputs are provided, the angle of the
986 entire rotation group, and separate angles for the segments in the slabs.
987 The angle of the entire rotation group is determined by an RMSD fit 
988 of $\ve{x}_i$
989 to the reference positions $\ve{y}_i^0$ at $t=0$, yielding $\theta_\mathrm{fit}$
990 as the angle by which the reference has to be rotated around $\hat{\ve{v}}$ 
991 for the optimal fit,
992 \beq
993 \mathrm{RMSD} \big( \ve{x}_i,\ \mathbf{\Omega}(\theta_\mathrm{fit})
994 \ve{y}_i^0 \big) \stackrel{!}{=} \mathrm{min} \, .
995 \label{eqn:rmsdfit}
996 \eeq
997 To determine the local angle for each slab $n$, both reference and actual
998 positions are weighted with the Gaussian function of slab $n$, and 
999 $\theta_\mathrm{fit}(t,n)$ is calculated as in \eqnref{rmsdfit}) from the
1000 Gaussian-weighted positions.
1001
1002 For all angles, the {\tt .mdp} input option {\tt rot-fit-method} controls
1003 whether a normal RMSD fit is performed or whether for the fit each
1004 position $\ve{x}_i$ is put at the same distance to the rotation axis as its
1005 reference counterpart $\ve{y}_i^0$. In the latter case, the RMSD
1006 measures only angular differences, not radial ones.
1007
1008
1009 \subsubsection*{Angle Determination by Searching the Energy Minimum}
1010 Alternatively, for {\tt rot-fit-method = potential}, the angle of the rotation 
1011 group is determined as the angle for which the rotation potential energy is minimal.
1012 Therefore, the used rotation potential is additionally evaluated for a set of angles
1013 around the current reference angle. In this case, the {\tt rotangles.log} output file
1014 contains the values of the rotation potential at the chosen set of angles, while 
1015 {\tt rotation.xvg} lists the angle with minimal potential energy.
1016
1017
1018 \subsubsection*{Torque}
1019 \label{torque}
1020 The torque $\ve{\tau}(t)$ exerted by the rotation potential is calculated for fixed
1021 axis rotation via
1022 \beq
1023 \ve{\tau}(t) = \sum_{i=1}^{N} \ve{r}_i(t) \times \ve{f}_{\!i}^\perp(t) ,
1024 \label{eqn:torque}
1025 \eeq
1026 where $\ve{r}_i(t)$ is the distance vector from the rotation axis to
1027 $\ve{x}_i(t)$ and $\ve{f}_{\!i}^\perp(t)$ is the force component
1028 perpendicular to $\ve{r}_i(t)$ and $\hat{\ve{v}}$. For flexible axis
1029 rotation, torques $\ve{\tau}_{\!n}$ are calculated for each slab using the
1030 local rotation axis of the slab and the Gaussian-weighted positions.
1031
1032
1033 \section{\normindex{Computational Electrophysiology}}
1034 \label{sec:compel}
1035
1036 The Computational Electrophysiology (CompEL) protocol \cite{Kutzner2011b} allows the simulation of
1037 ion flux through membrane channels, driven by transmembrane potentials or ion
1038 concentration gradients. Just as in real cells, CompEL establishes transmembrane
1039 potentials by sustaining a small imbalance of charges $\Delta q$ across the membrane,
1040 which gives rise to a potential difference $\Delta U$ according to the membrane capacitance:
1041 \beq
1042 \Delta U = \Delta q / C_{membrane}
1043 \eeq
1044 The transmembrane electric field and concentration gradients are controlled by
1045 {\tt .mdp} options, which allow the user to set reference counts for the ions on either side
1046 of the membrane. If a difference between the actual and the reference numbers persists
1047 over a certain time span, specified by the user, a number of ion/water pairs are
1048 exchanged between the compartments until the reference numbers are restored.
1049 Alongside the calculation of channel conductance and ion selectivity, CompEL simulations also
1050 enable determination of the channel reversal potential, an important
1051 characteristic obtained in electrophysiology experiments.
1052
1053 In a CompEL setup, the simulation system is divided into two compartments {\bf A} and {\bf B}
1054 with independent ion concentrations. This is best achieved by using double bilayer systems with
1055 a copy (or copies) of the channel/pore of interest in each bilayer (\figref{compelsetup} A, B).
1056 If the channel axes point in the same direction, channel flux is observed
1057 simultaneously at positive and negative potentials in this way, which is for instance
1058 important for studying channel rectification.
1059
1060 \begin{figure}
1061 \centerline{\includegraphics[width=13.5cm]{plots/compelsetup.pdf}}
1062 \caption{Typical double-membrane setup for CompEL simulations (A, B). Plot (C) shows
1063 the potential difference $\Delta U$ resulting
1064 from the selected charge imbalance $\Delta q_{ref}$ between the compartments.}
1065 \label{fig:compelsetup}
1066 \end{figure}
1067
1068 The potential difference $\Delta U$ across the membrane is easily calculated with the
1069 {\tt gmx potential} utility. By this, the potential drop along $z$ or the
1070 pore axis is exactly known in each time interval of the simulation (\figref{compelsetup} C).
1071 Type and number of ions $n_i$ of charge $q_i$, traversing the channel in the simulation,
1072 are written to the {\tt swapions.xvg} output file, from which the average channel
1073 conductance $G$ in each interval $\Delta t$ is determined by:
1074 \beq
1075 G = \frac{\sum_{i} n_{i}q_{i}}{\Delta t \, \Delta U} \, .
1076 \eeq
1077 The ion selectivity is calculated as the number flux ratio of different species.
1078 Best results are obtained by averaging these values over several overlapping time intervals.
1079
1080 The calculation of reversal potentials is best achieved using a small set of simulations in which a given
1081 transmembrane concentration gradient is complemented with small ion imbalances of varying magnitude. For
1082 example, if one compartment contains 1\,M salt and the other 0.1\,M, and given charge neutrality otherwise,
1083 a set of simulations with $\Delta q = 0\,e$, $\Delta q = 2\,e$, $\Delta q = 4\,e$ could
1084 be used. Fitting a straight line through the current-voltage relationship of all obtained
1085 $I$-$U$ pairs near zero current will then yield $U_{rev}$.
1086
1087 \subsection{Usage}
1088 The following {\tt .mdp} options control the CompEL protocol:
1089 {\small
1090 \begin{verbatim}
1091 swapcoords     = Z            ; Swap positions: no, X, Y, Z
1092 swap-frequency = 100          ; Swap attempt frequency
1093 \end{verbatim}}
1094 Choose {\tt Z} if your membrane is in the $xy$-plane (\figref{compelsetup} A, B).
1095 Ions will be exchanged between compartments depending on their $z$-positions alone.
1096 {\tt swap-frequency} determines how often a swap attempt will be made.
1097 This step requires that the positions of the ions, solvent, and swap groups are
1098 communicated between the parallel processes, so if chosen too small it can decrease the simulation
1099 performance.
1100 {\small
1101 \begin{verbatim}
1102 split-group0   = channel0     ; Defines compartment boundary 
1103 split-group1   = channel1     ; Defines other compartment boundary 
1104 massw-split0   = no           ; use mass-weighted center?
1105 massw-split1   = no
1106 \end{verbatim}}
1107 {\tt split-group0} and {\tt split-group1} are two index groups that define the boundaries
1108 between the two compartments, which are usually the centers of the channels.
1109 If {\tt massw-split0} or {\tt massw-split1} are set to {\tt yes}, the center of mass
1110 of each index group is used as boundary, here in $z$-direction. Otherwise, the
1111 geometrical centers will be used ($\times$ in \figref{compelsetup} A). If, such as here, a membrane
1112 channel is selected as split group, the center of the channel will define the dividing
1113 plane between the compartments (dashed horizontal line in the figure). All index groups
1114 must be defined in the index file.
1115 {\small
1116 \begin{verbatim}
1117 swap-group     = NA+_CL-      ; Ions to be included in exchange
1118 solvent-group  = SOL          ; Group name of solvent molecules
1119 cyl0-r         = 5.0          ; Split cylinder 0: pore radius (nm)
1120 cyl0-up        = 0.75         ; Split cylinder 0 upper extension (nm)
1121 cyl0-down      = 0.75         ; Split cylinder 0 lower extension (nm)
1122 cyl1-r         = 5.0          ; same for other channel
1123 cyl1-up        = 0.75
1124 cyl1-down      = 0.75
1125 coupl-steps    = 10           ; Average over these many swap steps
1126 threshold      = 1            ; Do not swap if < threshold
1127 \end{verbatim}}
1128 {\tt swap-group} identifies the index group of ions that 
1129 should be involved in the flux and exchange cycles, {\tt solvent-group} defines the solvent
1130 group with which they are swapped. The cylinder options only influence the counting of
1131 ions, i.e., ions will be counted as having traveled through either channel 0 or channel 1
1132 according to the definition of (channel) cylinder radius, upper and lower extension,
1133 relative to the location of the respective split group. This will not affect the actual
1134 flux or exchange, but will provide you with the ion permeation numbers across
1135 each of the channels. Note that an ion can only be counted as passing through a particular
1136 channel if it is detected \emph{within} the defined split cylinder in a swap step.
1137 If {\tt swap-frequency} is chosen too high, a particular ion may be detected in compartment {\bf A}
1138 in one swap step, and in compartment {\bf B} in the following swap step, so it will be unclear
1139 through which of the channels it has passed.
1140
1141 {\tt coupl-steps} sets the number of swap attempt steps. A discrepancy between
1142 actual and reference ion numbers in each compartment must persist over this many attempts
1143 before an actual exchange takes place. If {\tt coupl-steps} is set to 1, then the momentary ion distribution determines
1144 whether ions are exchanged. {\tt coupl-steps} \textgreater\ 1 will use the time-average
1145 of ion distributions over the selected number of attempt steps instead. This can be useful, for example,
1146 when ions diffuse near compartment boundaries, which would lead to numerous unproductive
1147 ion exchanges. A {\tt threshold} of 1 means that a swap is performed if the average ion
1148 count in a compartment differs by at least 1 from the requested values. Higher thresholds
1149 will lead to toleration of larger differences. Ions are exchanged until the requested
1150 number $\pm$ the threshold is reached.
1151
1152 {\small
1153 \begin{verbatim}
1154 anionsA  = -1                 ; Reference count of anions in A
1155 cationsA = -1                 ; ... of cations in A
1156 anionsB  = -1                 ; ... of anions in B
1157 cationsB = -1                 ; ... of cations in B
1158 \end{verbatim}}
1159 These options set the requested number of anions and cations for each of the two compartments.
1160 A number of {\tt -1} means fix the numbers found in time step 0. Note that these numbers
1161 need to add up to the total number of ions in the swap group.
1162
1163 Note that a double-layered system for CompEL simulations can be easily prepared by
1164 duplicating an existing membrane/channel MD system in the direction of the membrane
1165 normal (typically $z$) with {\tt gmx editconf -translate 0 0 <l_z>}, where {\tt l_z}
1166 is the box length in that direction. If you have already defined index groups for
1167 the channel for the single-layered system, {\tt gmx make_ndx -n index.ndx -twin} will
1168 provide you with the groups for the double-layered system.
1169
1170 To suppress large fluctuations of the membranes along the swap direction,
1171 it may be useful to apply a harmonic potential (acting only in the swap dimension)
1172 between each of the two channel and/or bilayer centers using umbrella pulling
1173 (see section~\ref{sec:pull}).
1174
1175 \subsection*{Multimeric channels}
1176 If a split group consists of more than one molecule, the correct PBC image of all molecules
1177 with respect to each other has to be chosen such that the channel center can be correctly
1178 determined. \gromacs\ assumes that the starting structure in the {\tt .tpr}
1179 file has the correct PBC representation. Set the following environment variable
1180 to check whether that is the case:
1181 \begin{itemize}
1182 \item   {\tt GMX_COMPELDUMP}: output the starting structure after it has been made whole to
1183         {\tt .pdb} file.
1184 \end{itemize}
1185
1186
1187 \section{Calculating a PMF using the free-energy code}
1188 \label{sec:fepmf}
1189 \index{potentials of mean force}
1190 \index{free energy calculations}
1191 The free-energy coupling-parameter approach (see~\secref{fecalc})
1192 provides several ways to calculate potentials of mean force.
1193 A potential of mean force between two atoms can be calculated
1194 by connecting them with a harmonic potential or a constraint.
1195 For this purpose there are special potentials that avoid the generation of
1196 extra exclusions, see~\secref{excl}.
1197 When the position of the minimum or the constraint length is 1 nm more
1198 in state B than in state A, the restraint or constraint force is given
1199 by $\partial H/\partial \lambda$.
1200 The distance between the atoms can be changed as a function of $\lambda$
1201 and time by setting {\tt delta-lambda} in the {\tt .mdp} file.
1202 The results should be identical (although not numerically
1203 due to the different implementations) to the results of the pull code
1204 with umbrella sampling and constraint pulling.
1205 Unlike the pull code, the free energy code can also handle atoms that
1206 are connected by constraints.
1207
1208 Potentials of mean force can also be calculated using position restraints.
1209 With position restraints, atoms can be linked to a position in space
1210 with a harmonic potential (see \ssecref{positionrestraint}).
1211 These positions can be made a function of the coupling parameter $\lambda$.
1212 The positions for the A and the B states are supplied to {\tt grompp} with
1213 the {\tt -r} and {\tt -rb} options, respectively.
1214 One could use this approach to do \normindex{targeted MD};
1215 note that we do not encourage the use of targeted MD for proteins.
1216 A protein can be forced from one conformation to another by using
1217 these conformations as position restraint coordinates for state A and B.
1218 One can then slowly change $\lambda$ from 0 to 1.
1219 The main drawback of this approach is that the conformational freedom
1220 of the protein is severely limited by the position restraints,
1221 independent of the change from state A to B.
1222 Also, the protein is forced from state A to B in an almost straight line,
1223 whereas the real pathway might be very different.
1224 An example of a more fruitful application is a solid system or a liquid
1225 confined between walls where one wants to measure the force required
1226 to change the separation between the boundaries or walls.
1227 Because the boundaries (or walls) already need to be fixed,
1228 the position restraints do not limit the system in its sampling.
1229
1230 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1231 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1232 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1233 \newcommand{\amine}{\sf -NH$_2$}
1234 \newcommand{\amines}{\sf -NH-}
1235 \newcommand{\aminep}{\sf -NH$_3^+$}
1236 \section{Removing fastest \swapindex{degrees of}{freedom}}
1237 \label{sec:rmfast}
1238 The maximum time step in MD simulations is limited by the smallest
1239 oscillation period that can be found in the simulated
1240 system. Bond-stretching vibrations are in their quantum-mechanical
1241 ground state and are therefore better represented by a constraint 
1242 instead of a harmonic potential.
1243
1244 For the remaining degrees of freedom, the shortest oscillation period
1245 (as measured from a simulation) is 13~fs for bond-angle vibrations
1246 involving hydrogen atoms. Taking as a guideline that with a Verlet
1247 (leap-frog) integration scheme a minimum of 5 numerical integration
1248 steps should be performed per period of a harmonic oscillation in
1249 order to integrate it with reasonable accuracy, the maximum time step
1250 will be about 3~fs. Disregarding these very fast oscillations of
1251 period 13~fs, the next shortest periods are around 20~fs, which will
1252 allow a maximum time step of about 4~fs.
1253
1254 Removing the bond-angle degrees of freedom from hydrogen atoms can
1255 best be done by defining them as \normindex{virtual interaction sites}
1256 instead of normal atoms. Whereas a normal atom is connected to the molecule
1257 with bonds, angles and dihedrals, a virtual site's position is calculated
1258 from the position of three nearby heavy atoms in a predefined manner
1259 (see also \secref{virtual_sites}). For the hydrogens in water and in
1260 hydroxyl, sulfhydryl, or amine groups, no degrees of freedom can be
1261 removed, because rotational freedom should be preserved. The only
1262 other option available to slow down these motions is to increase the
1263 mass of the hydrogen atoms at the expense of the mass of the connected
1264 heavy atom. This will increase the moment of inertia of the water
1265 molecules and the hydroxyl, sulfhydryl, or amine groups, without
1266 affecting the equilibrium properties of the system and without
1267 affecting the dynamical properties too much. These constructions will
1268 shortly be described in \secref{vsitehydro} and have previously
1269 been described in full detail~\cite{feenstra99}.
1270
1271 Using both virtual sites and \swapindex{modified}{mass}es, the next
1272 bottleneck is likely to be formed by the improper dihedrals (which are
1273 used to preserve planarity or chirality of molecular groups) and the
1274 peptide dihedrals. The peptide dihedral cannot be changed without
1275 affecting the physical behavior of the protein. The improper dihedrals
1276 that preserve planarity mostly deal with aromatic residues. Bonds,
1277 angles, and dihedrals in these residues can also be replaced with
1278 somewhat elaborate virtual site constructions.
1279
1280 All modifications described in this section can be performed using the
1281 {\gromacs} topology building tool {\tt \normindex{pdb2gmx}}. Separate
1282 options exist to increase hydrogen masses, virtualize all hydrogen atoms,
1283 or also virtualize all aromatic residues. {\bf Note} that when all hydrogen
1284 atoms are virtualized, those inside the aromatic residues will be
1285 virtualized as well, {\ie} hydrogens in the aromatic residues are treated
1286 differently depending on the treatment of the aromatic residues.
1287
1288 Parameters for the virtual site constructions for the hydrogen atoms are
1289 inferred from the force-field parameters ({\em vis}. bond lengths and
1290 angles) directly by {\tt \normindex{grompp}} while processing the
1291 topology file.  The constructions for the aromatic residues are based
1292 on the bond lengths and angles for the geometry as described in the
1293 force fields, but these parameters are hard-coded into {\tt
1294 \normindex{pdb2gmx}} due to the complex nature of the construction
1295 needed for a whole aromatic group.
1296
1297 \subsection{Hydrogen bond-angle vibrations}
1298 \label{sec:vsitehydro}
1299 \subsubsection{Construction of virtual sites} %%%%%%%%%%%%%%%%%%%%%%%%%
1300 \begin{figure}
1301 \centerline{\includegraphics[width=11cm]{plots/dumtypes}}
1302 \caption[Virtual site constructions for hydrogen atoms.]{The different
1303 types of virtual site constructions used for hydrogen atoms. The atoms
1304 used in the construction of the virtual site(s) are depicted as black
1305 circles, virtual sites as gray ones. Hydrogens are smaller than heavy
1306 atoms. {\sf A}: fixed bond angle, note that here the hydrogen is not a
1307 virtual site; {\sf B}: in the plane of three atoms, with fixed distance;
1308 {\sf C}: in the plane of three atoms, with fixed angle and distance;
1309 {\sf D}: construction for amine groups ({\amine} or {\aminep}), see
1310 text for details.}
1311 \label{fig:vsitehydro}
1312 \end{figure}
1313
1314 The goal of defining hydrogen atoms as virtual sites is to remove all
1315 high-frequency degrees of freedom from them. In some cases, not all
1316 degrees of freedom of a hydrogen atom should be removed, {\eg} in the
1317 case of hydroxyl or amine groups the rotational freedom of the
1318 hydrogen atom(s) should be preserved. Care should be taken that no
1319 unwanted correlations are introduced by the construction of virtual
1320 sites, {\eg} bond-angle vibration between the constructing atoms could
1321 translate into hydrogen bond-length vibration. Additionally, since
1322 virtual sites are by definition massless, in order to preserve total
1323 system mass, the mass of each hydrogen atom that is treated as virtual
1324 site should be added to the bonded heavy atom.
1325
1326 Taking into account these considerations, the hydrogen atoms in a
1327 protein naturally fall into several categories, each requiring a
1328 different approach (see also \figref{vsitehydro}).
1329
1330 \begin{itemize}
1331
1332 \item{\em hydroxyl ({\sf -OH}) or sulfhydryl ({\sf -SH})
1333 hydrogen:\/} The only internal degree of freedom in a hydroxyl group
1334 that can be constrained is the bending of the {\sf C-O-H} angle. This
1335 angle is fixed by defining an additional bond of appropriate length,
1336 see \figref{vsitehydro}A. Doing so removes the high-frequency angle bending,
1337 but leaves the dihedral rotational freedom. The same goes for a
1338 sulfhydryl group. {\bf Note} that in these cases the hydrogen is not treated
1339 as a virtual site.
1340
1341 \item{\em single amine or amide ({\amines}) and aromatic hydrogens
1342 ({\sf -CH-}):\/} The position of these hydrogens cannot be constructed
1343 from a linear combination of bond vectors, because of the flexibility
1344 of the angle between the heavy atoms. Instead, the hydrogen atom is
1345 positioned at a fixed distance from the bonded heavy atom on a line
1346 going through the bonded heavy atom and a point on the line through
1347 both second bonded atoms, see \figref{vsitehydro}B.
1348
1349 \item{\em planar amine ({\amine}) hydrogens:\/} The method used for
1350 the single amide hydrogen is not well suited for planar amine groups,
1351 because no suitable two heavy atoms can be found to define the
1352 direction of the hydrogen atoms. Instead, the hydrogen is constructed
1353 at a fixed distance from the nitrogen atom, with a fixed angle to the
1354 carbon atom, in the plane defined by one of the other heavy atoms, see
1355 \figref{vsitehydro}C.
1356
1357 \item{\em amine group (umbrella {\amine} or {\aminep}) hydrogens:\/}
1358 Amine hydrogens with rotational freedom cannot be constructed as virtual
1359 sites from the heavy atoms they are connected to, since this would
1360 result in loss of the rotational freedom of the amine group. To
1361 preserve the rotational freedom while removing the hydrogen bond-angle
1362 degrees of freedom, two ``dummy masses'' are constructed with the same
1363 total mass, moment of inertia (for rotation around the {\sf C-N} bond)
1364 and center of mass as the amine group. These dummy masses have no
1365 interaction with any other atom, except for the fact that they are
1366 connected to the carbon and to each other, resulting in a rigid
1367 triangle. From these three particles, the positions of the nitrogen and
1368 hydrogen atoms are constructed as linear combinations of the two
1369 carbon-mass vectors and their outer product, resulting in an amine
1370 group with rotational freedom intact, but without other internal
1371 degrees of freedom. See \figref{vsitehydro}D.
1372
1373 \end{itemize}
1374
1375 \begin{figure}
1376 \centerline{\includegraphics[width=15cm]{plots/dumaro}}
1377 \caption[Virtual site constructions for aromatic residues.]{The
1378 different types of virtual site constructions used for aromatic
1379 residues. The atoms used in the construction of the virtual site(s) are
1380 depicted as black circles, virtual sites as gray ones. Hydrogens are
1381 smaller than heavy atoms. {\sf A}: phenylalanine; {\sf B}: tyrosine
1382 (note that the hydroxyl hydrogen is {\em not} a virtual site); {\sf C}:
1383 tryptophan; {\sf D}: histidine.}
1384 \label{fig:vistearo}
1385 \end{figure}
1386
1387 \subsection{Out-of-plane vibrations in aromatic groups}
1388 \label{sec:vsitearo}
1389 The planar arrangements in the side chains of the aromatic residues
1390 lends itself perfectly to a virtual-site construction, giving a
1391 perfectly planar group without the inherently unstable constraints
1392 that are necessary to keep normal atoms in a plane. The basic approach
1393 is to define three atoms or dummy masses with constraints between them
1394 to fix the geometry and create the rest of the atoms as simple virtual
1395 sites type (see \secref{virtual_sites}) from these three. Each of
1396 the aromatic residues require a different approach:
1397
1398 \begin{itemize}
1399
1400 \item{\em Phenylalanine:\/} {\sf C}$_\gamma$, {\sf C}$_{{\epsilon}1}$,
1401 and {\sf C}$_{{\epsilon}2}$ are kept as normal atoms, but with each a
1402 mass of one third the total mass of the phenyl group. See
1403 \figref{vsitehydro}A.
1404
1405 \item{\em Tyrosine:\/} The ring is treated identically to the
1406 phenylalanine ring. Additionally, constraints are defined between {\sf
1407 C}$_{{\epsilon}1}$, {\sf C}$_{{\epsilon}2}$, and {\sf O}$_{\eta}$.
1408 The original improper dihedral angles will keep both triangles (one
1409 for the ring and one with {\sf O}$_{\eta}$) in a plane, but due to the
1410 larger moments of inertia this construction will be much more
1411 stable. The bond-angle in the hydroxyl group will be constrained by a
1412 constraint between {\sf C}$_\gamma$ and {\sf H}$_{\eta}$. {\bf Note} that
1413 the hydrogen is not treated as a virtual site. See
1414 \figref{vsitehydro}B.
1415
1416 \item{\em Tryptophan:\/} {\sf C}$_\beta$ is kept as a normal atom
1417 and two dummy masses are created at the center of mass of each of the
1418 rings, each with a mass equal to the total mass of the respective ring
1419 ({\sf C}$_{{\delta}2}$ and {\sf C}$_{{\epsilon}2}$ are each
1420 counted half for each ring). This keeps the overall center of mass and
1421 the moment of inertia almost (but not quite) equal to what it was. See
1422 \figref{vsitehydro}C.
1423
1424 \item{\em Histidine:\/} {\sf C}$_\gamma$, {\sf C}$_{{\epsilon}1}$
1425 and {\sf N}$_{{\epsilon}2}$ are kept as normal atoms, but with masses
1426 redistributed such that the center of mass of the ring is
1427 preserved. See \figref{vsitehydro}D.
1428
1429 \end{itemize}
1430
1431 \section{Viscosity calculation\index{viscosity}}
1432
1433 The shear viscosity is a property of liquids that can be determined easily  
1434 by experiment. It is useful for parameterizing a force field
1435 because it is a kinetic property, while most other properties
1436 which are used for parameterization are thermodynamic.
1437 The viscosity is also an important property, since it influences
1438 the rates of conformational changes of molecules solvated in the liquid.
1439
1440 The viscosity can be calculated from an equilibrium simulation using
1441 an Einstein relation:
1442 \beq
1443 \eta = \frac{1}{2}\frac{V}{k_B T} \lim_{t \rightarrow \infty}
1444 \frac{\mbox{d}}{\mbox{d} t} \left\langle 
1445 \left( \int_{t_0}^{{t_0}+t} P_{xz}(t') \mbox{d} t' \right)^2
1446 \right\rangle_{t_0}
1447 \eeq
1448 This can be done with {\tt g_energy}.
1449 This method converges very slowly~\cite{Hess2002a}, and as such
1450 a nanosecond simulation might not
1451 be long enough for an accurate determination of the viscosity.
1452 The result is very dependent on the treatment of the electrostatics.
1453 Using a (short) cut-off results in large noise on the off-diagonal
1454 pressure elements, which can increase the calculated viscosity by an order
1455 of magnitude.
1456
1457 {\gromacs} also has a non-equilibrium method for determining
1458 the viscosity~\cite{Hess2002a}.
1459 This makes use of the fact that energy, which is fed into system by
1460 external forces, is dissipated through viscous friction. The generated heat
1461 is removed by coupling to a heat bath. For a Newtonian liquid adding a 
1462 small force will result in a velocity gradient according to the following
1463 equation:
1464 \beq
1465 a_x(z) + \frac{\eta}{\rho} \frac{\partial^2 v_x(z)}{\partial z^2} = 0
1466 \eeq
1467 Here we have applied an acceleration $a_x(z)$ in the $x$-direction, which
1468 is a function of the $z$-coordinate.
1469 In {\gromacs} the acceleration profile is:
1470 \beq
1471 a_x(z) = A \cos\left(\frac{2\pi z}{l_z}\right)
1472 \eeq
1473 where $l_z$ is the height of the box. The generated velocity profile is:
1474 \beq
1475 v_x(z) = V \cos\left(\frac{2\pi z}{l_z}\right)
1476 \eeq
1477 \beq
1478 V = A \frac{\rho}{\eta}\left(\frac{l_z}{2\pi}\right)^2
1479 \eeq
1480 The viscosity can be calculated from $A$ and $V$:
1481 \beq
1482 \label{visc}
1483 \eta = \frac{A}{V}\rho \left(\frac{l_z}{2\pi}\right)^2
1484 \eeq
1485
1486 In the simulation $V$ is defined as:
1487 \beq
1488 V = \frac{\displaystyle \sum_{i=1}^N m_i v_{i,x} 2 \cos\left(\frac{2\pi z}{l_z}\right)}
1489          {\displaystyle \sum_{i=1}^N m_i}
1490 \eeq
1491 The generated velocity profile is not coupled to the heat bath. Moreover,
1492 the velocity profile is excluded from the kinetic energy.
1493 One would like $V$ to be as large as possible to get good statistics.
1494 However, the shear rate should not be so high that the system gets too far
1495 from equilibrium. The maximum shear rate occurs where the cosine is zero,
1496 the rate being:
1497 \beq
1498 \mbox{sh}_{\max} =  \max_z \left| \frac{\partial v_x(z)}{\partial z} \right|
1499 = A \frac{\rho}{\eta} \frac{l_z}{2\pi}
1500 \eeq
1501 For a simulation with: $\eta=10^{-3}$ [kg\,m$^{-1}$\,s$^{-1}$],
1502 $\rho=10^3$\,[kg\,m$^{-3}$] and $l_z=2\pi$\,[nm],
1503 $\mbox{sh}_{\max}=1$\,[ps\,nm$^{-1}$] $A$.
1504 This shear rate should be smaller than one over the longest
1505 correlation time in the system. For most liquids, this will be the rotation
1506 correlation time, which is around 10 ps. In this case, $A$ should
1507 be smaller than 0.1\,[nm\,ps$^{-2}$].
1508 When the shear rate is too high, the observed viscosity will be too low.
1509 Because $V$ is proportional to the square of the box height,
1510 the optimal box is elongated in the $z$-direction.
1511 In general, a simulation length of 100 ps is enough to obtain an
1512 accurate value for the viscosity.
1513
1514 The heat generated by the viscous friction is removed by coupling to a heat
1515 bath. Because this coupling is not instantaneous the real temperature of the
1516 liquid will be slightly lower than the observed temperature.
1517 Berendsen derived this temperature shift~\cite{Berendsen91}, which can
1518 be written in terms of the shear rate as:
1519 \beq
1520 T_s = \frac{\eta\,\tau}{2 \rho\,C_v} \mbox{sh}_{\max}^2
1521 \eeq
1522 where $\tau$ is the coupling time for the Berendsen thermostat and
1523 $C_v$ is the heat capacity. Using the values of the example above,
1524 $\tau=10^{-13}$ [s] and $C_v=2 \cdot 10^3$\,[J kg$^{-1}$\,K$^{-1}$], we
1525 get: $T_s=25$\,[K\,ps$^{-2}$]\,sh$_{\max}^2$. When we want the shear
1526 rate to be smaller than $1/10$\,[ps$^{-1}$], $T_s$ is smaller than
1527 0.25\,[K], which is negligible.
1528
1529 {\bf Note} that the system has to build up the velocity profile when starting
1530 from an equilibrium state. This build-up time is of the order of the
1531 correlation time of the liquid.
1532
1533 Two quantities are written to the energy file, along with their averages
1534 and fluctuations: $V$ and $1/\eta$, as obtained from (\ref{visc}).
1535
1536 \section{Tabulated interaction functions\index{tabulated interaction functions}}
1537 \subsection{Cubic splines for potentials}
1538 \label{subsec:cubicspline}
1539 In some of the inner loops of {\gromacs}, look-up tables are used 
1540 for computation of potential and forces. 
1541 The tables are interpolated using a cubic
1542 spline algorithm. 
1543 There are separate tables for electrostatic, dispersion, and repulsion
1544 interactions,
1545 but for the sake of caching performance these have been combined
1546 into a single array. 
1547 The cubic spline interpolation for $x_i \leq x < x_{i+1}$ looks like this:
1548 \beq
1549 V_s(x) = A_0 + A_1 \,\epsilon + A_2 \,\epsilon^2 + A_3 \,\epsilon^3
1550 \label{eqn:spline}
1551 \eeq
1552 where the table spacing $h$ and fraction $\epsilon$ are given by:
1553 \bea
1554 h       &=&     x_{i+1} - x_i   \\
1555 \epsilon&=&     (x - x_i)/h
1556 \eea
1557 so that $0 \le \epsilon < 1$.
1558 From this, we can calculate the derivative in order to determine the forces:
1559 \beq
1560 -V_s'(x) ~=~ 
1561 -\frac{{\rm d}V_s(x)}{{\rm d}\epsilon}\frac{{\rm d}\epsilon}{{\rm d}x} ~=~
1562 -(A_1 + 2 A_2 \,\epsilon + 3 A_3 \,\epsilon^2)/h
1563 \eeq
1564 The four coefficients are determined from the four conditions
1565 that $V_s$ and $-V_s'$ at both ends of each interval should match
1566 the exact potential $V$ and force $-V'$.
1567 This results in the following errors for each interval:
1568 \bea
1569 |V_s  - V  |_{max} &=& V'''' \frac{h^4}{384} + O(h^5) \\
1570 |V_s' - V' |_{max} &=& V'''' \frac{h^3}{72\sqrt{3}} + O(h^4) \\
1571 |V_s''- V''|_{max} &=& V'''' \frac{h^2}{12}  + O(h^3)
1572 \eea
1573 V and V' are continuous, while V'' is the first discontinuous
1574 derivative.
1575 The number of points per nanometer is 500 and 2000
1576 for mixed- and double-precision versions of {\gromacs}, respectively.
1577 This means that the errors in the potential and force will usually
1578 be smaller than the mixed precision accuracy.
1579
1580 {\gromacs} stores $A_0$, $A_1$, $A_2$ and $A_3$.
1581 The force routines get a table with these four parameters and
1582 a scaling factor $s$ that is equal to the number of points per nm.
1583 ({\bf Note} that $h$ is $s^{-1}$).
1584 The algorithm goes a little something like this:
1585 \begin{enumerate}
1586 \item   Calculate distance vector (\ve{r}$_{ij}$) and distance r$_{ij}$
1587 \item   Multiply r$_{ij}$ by $s$ and truncate to an integer value $n_0$
1588         to get a table index
1589 \item   Calculate fractional component ($\epsilon$ = $s$r$_{ij} - n_0$) 
1590         and $\epsilon^2$ 
1591 \item   Do the interpolation to calculate the potential $V$ and the scalar force $f$
1592 \item   Calculate the vector force \ve{F} by multiplying $f$ with \ve{r}$_{ij}$
1593 \end{enumerate}
1594
1595 {\bf Note} that table look-up is significantly {\em
1596 slower} than computation of the most simple Lennard-Jones and Coulomb
1597 interaction. However, it is much faster than the shifted Coulomb
1598 function used in conjunction with the PPPM method. Finally, it is much
1599 easier to modify a table for the potential (and get a graphical
1600 representation of it) than to modify the inner loops of the MD
1601 program.
1602
1603 \subsection{User-specified potential functions}
1604 \label{subsec:userpot}
1605 You can also use your own \index{potential function}s 
1606 without editing the {\gromacs} code. 
1607 The potential function should be according to the following equation
1608 \beq
1609 V(r_{ij}) ~=~ \frac{q_i q_j}{4 \pi\epsilon_0} f(r_{ij}) + C_6 \,g(r_{ij}) + C_{12} \,h(r_{ij})
1610 \eeq
1611 where $f$, $g$, and $h$ are user defined functions. {\bf Note} that if $g(r)$ represents a
1612 normal dispersion interaction, $g(r)$ should be $<$ 0. C$_6$, C$_{12}$
1613 and the charges are read from the topology. Also note that combination
1614 rules are only supported for Lennard-Jones and Buckingham, and that
1615 your tables should match the parameters in the binary topology.
1616
1617 When you add the following lines in your {\tt .mdp} file:
1618
1619 {\small
1620 \begin{verbatim}
1621 rlist           = 1.0
1622 coulombtype     = User
1623 rcoulomb        = 1.0
1624 vdwtype         = User
1625 rvdw            = 1.0
1626 \end{verbatim}}
1627
1628 {\tt mdrun} will read a single non-bonded table file,
1629 or multiple when {\tt energygrp-table} is set (see below).
1630 The name of the file(s) can be set with the {\tt mdrun} option {\tt -table}.
1631 The table file should contain seven columns of table look-up data in the
1632 order: $x$, $f(x)$, $-f'(x)$, $g(x)$, $-g'(x)$, $h(x)$, $-h'(x)$.
1633 The $x$ should run from 0 to $r_c+1$ (the value of {\tt table_extension} can be
1634 changed in the {\tt .mdp} file).
1635 You can choose the spacing you like; for the standard tables {\gromacs}
1636 uses a spacing of 0.002 and 0.0005 nm when you run in mixed
1637 and double precision, respectively.  In this
1638 context, $r_c$ denotes the maximum of the two cut-offs {\tt rvdw} and
1639 {\tt rcoulomb} (see above). These variables need not be the same (and
1640 need not be 1.0 either).  Some functions used for potentials contain a
1641 singularity at $x = 0$, but since atoms are normally not closer to each
1642 other than 0.1 nm, the function value at $x = 0$ is not important.
1643 Finally, it is also
1644 possible to combine a standard Coulomb with a modified LJ potential
1645 (or vice versa). One then specifies {\eg} {\tt coulombtype = Cut-off} or
1646 {\tt coulombtype = PME}, combined with {\tt vdwtype = User}.  The table file must
1647 always contain the 7 columns however, and meaningful data (i.e. not
1648 zeroes) must be entered in all columns.  A number of pre-built table
1649 files can be found in the {\tt GMXLIB} directory for 6-8, 6-9, 6-10, 6-11, and 6-12
1650 Lennard-Jones potentials combined with a normal Coulomb.
1651
1652 If you want to have different functional forms between different
1653 groups of atoms, this can be set through energy groups.
1654 Different tables can be used for non-bonded interactions between
1655 different energy groups pairs through the {\tt .mdp} option {\tt energygrp-table}
1656 (see details in the User Guide).
1657 Atoms that should interact with a different potential should
1658 be put into different energy groups.
1659 Between group pairs which are not listed in {\tt energygrp-table},
1660 the normal user tables will be used. This makes it easy to use
1661 a different functional form between a few types of atoms.
1662
1663 \section{Mixed Quantum-Classical simulation techniques}
1664
1665 In a molecular mechanics (MM) force field, the influence of electrons
1666 is expressed by empirical parameters that are assigned on the basis of
1667 experimental data, or on the basis of results from high-level quantum
1668 chemistry calculations. These are valid for the ground state of a
1669 given covalent structure, and the MM approximation is usually
1670 sufficiently accurate for ground-state processes in which the overall
1671 connectivity between the atoms in the system remains
1672 unchanged. However, for processes in which the connectivity does
1673 change, such as chemical reactions, or processes that involve multiple
1674 electronic states, such as photochemical conversions, electrons can no
1675 longer be ignored, and a quantum mechanical description is required
1676 for at least those parts of the system in which the reaction takes
1677 place.
1678
1679 One approach to the simulation of chemical reactions in solution, or
1680 in enzymes, is to use a combination of quantum mechanics (QM) and
1681 molecular mechanics (MM). The reacting parts of the system are treated
1682 quantum mechanically, with the remainder being modeled using the
1683 force field. The current version of {\gromacs} provides interfaces to
1684 several popular Quantum Chemistry packages (MOPAC~\cite{mopac},
1685 GAMESS-UK~\cite{gamess-uk}, Gaussian~\cite{g03} and CPMD~\cite{Car85a}).
1686
1687 {\gromacs} interactions between the two subsystems are
1688 either handled as described by Field {\em et al.}~\cite{Field90a} or
1689 within the ONIOM approach by Morokuma and coworkers~\cite{Maseras96a,
1690 Svensson96a}.
1691
1692 \subsection{Overview}
1693
1694 Two approaches for describing the interactions between the QM and MM
1695 subsystems are supported in this version:
1696
1697 \begin{enumerate}
1698 \item{\textbf{Electronic Embedding}} The electrostatic interactions
1699 between the electrons of the QM region and the MM atoms and between
1700 the QM nuclei and the MM atoms are included in the Hamiltonian for
1701 the QM subsystem: \beq H^{QM/MM} =
1702 H^{QM}_e-\sum_i^n\sum_J^M\frac{e^2Q_J}{4\pi\epsilon_0r_{iJ}}+\sum_A^N\sum_J^M\frac{e^2Z_AQ_J}{e\pi\epsilon_0R_{AJ}},
1703 \eeq where $n$ and $N$ are the number of electrons and nuclei in the
1704 QM region, respectively, and $M$ is the number of charged MM
1705 atoms. The first term on the right hand side is the original
1706 electronic Hamiltonian of an isolated QM system. The first of the
1707 double sums is the total electrostatic interaction between the QM
1708 electrons and the MM atoms. The total electrostatic interaction of the
1709 QM nuclei with the MM atoms is given by the second double sum. Bonded
1710 interactions between QM and MM atoms are described at the MM level by
1711 the appropriate force-field terms. Chemical bonds that connect the two
1712 subsystems are capped by a hydrogen atom to complete the valence of
1713 the QM region. The force on this atom, which is present in the QM
1714 region only, is distributed over the two atoms of the bond. The cap
1715 atom is usually referred to as a link atom.
1716
1717 \item{\textbf{ONIOM}} In the ONIOM approach, the energy and gradients
1718 are first evaluated for the isolated QM subsystem at the desired level
1719 of {\it{ab initio}} theory. Subsequently, the energy and gradients of
1720 the total system, including the QM region, are computed using the
1721 molecular mechanics force field and added to the energy and gradients
1722 calculated for the isolated QM subsystem. Finally, in order to correct
1723 for counting the interactions inside the QM region twice, a molecular
1724 mechanics calculation is performed on the isolated QM subsystem and
1725 the energy and gradients are subtracted. This leads to the following
1726 expression for the total QM/MM energy (and gradients likewise): \beq
1727 E_{tot} = E_{I}^{QM}
1728 +E_{I+II}^{MM}-E_{I}^{MM}, \eeq where the
1729 subscripts I and II refer to the QM and MM subsystems,
1730 respectively. The superscripts indicate at what level of theory the
1731 energies are computed. The ONIOM scheme has the
1732 advantage that it is not restricted to a two-layer QM/MM description,
1733 but can easily handle more than two layers, with each layer described
1734 at a different level of theory.
1735 \end{enumerate}
1736
1737 \subsection{Usage}
1738
1739 To make use of the QM/MM functionality in {\gromacs}, one needs to:
1740
1741 \begin{enumerate}
1742 \item introduce link atoms at the QM/MM boundary, if needed;
1743 \item specify which atoms are to be treated at a QM level;
1744 \item specify the QM level, basis set, type of QM/MM interface and so on. 
1745 \end{enumerate}
1746
1747 \subsubsection{Adding link atoms}
1748
1749 At the bond that connects the QM and MM subsystems, a link atoms is
1750 introduced.  In {\gromacs} the link atom has special atomtype, called
1751 LA. This atomtype is treated as a hydrogen atom in the QM calculation,
1752 and as a virtual site in the force-field calculation. The link atoms, if
1753 any, are part of the system, but have no interaction with any other
1754 atom, except that the QM force working on it is distributed over the
1755 two atoms of the bond. In the topology, the link atom (LA), therefore,
1756 is defined as a virtual site atom:
1757
1758 {\small
1759 \begin{verbatim}
1760 [ virtual_sites2 ]
1761 LA QMatom MMatom 1 0.65
1762 \end{verbatim}}
1763
1764 See~\secref{vsitetop} for more details on how virtual sites are
1765 treated. The link atom is replaced at every step of the simulation.
1766
1767 In addition, the bond itself is replaced by a constraint:
1768
1769 {\small
1770 \begin{verbatim}
1771 [ constraints ]
1772 QMatom MMatom 2 0.153
1773 \end{verbatim}}
1774
1775 {\bf Note} that, because in our system the QM/MM bond is a carbon-carbon
1776 bond (0.153 nm), we use a constraint length of 0.153 nm, and dummy
1777 position of 0.65. The latter is the ratio between the ideal C-H
1778 bond length and the ideal C-C bond length. With this ratio, the link
1779 atom is always 0.1 nm away from the {\tt QMatom}, consistent with the
1780 carbon-hydrogen bond length. If the QM and MM subsystems are connected
1781 by a different kind of bond, a different constraint and a different
1782 dummy position, appropriate for that bond type, are required.
1783
1784 \subsubsection{Specifying the QM atoms}
1785
1786 Atoms that should be treated at a QM level of theory, including the
1787 link atoms, are added to the index file. In addition, the chemical
1788 bonds between the atoms in the QM region are to be defined as
1789 connect bonds (bond type 5) in the topology file:
1790
1791 {\small
1792 \begin{verbatim}
1793 [ bonds ]
1794 QMatom1 QMatom2 5
1795 QMatom2 QMatom3 5
1796 \end{verbatim}}
1797
1798 \subsubsection{Specifying the QM/MM simulation parameters}
1799
1800 In the {\tt .mdp} file, the following parameters control a QM/MM simulation.
1801
1802 \begin{description}
1803
1804 \item[\tt QMMM = no]\mbox{}\\ If this is set to {\tt yes}, a QM/MM
1805 simulation is requested. Several groups of atoms can be described at
1806 different QM levels separately. These are specified in the QMMM-grps
1807 field separated by spaces. The level of {\it{ab initio}} theory at which the
1808 groups are described is specified by {\tt QMmethod} and {\tt QMbasis}
1809 Fields. Describing the groups at different levels of theory is only
1810 possible with the ONIOM QM/MM scheme, specified by {\tt QMMMscheme}.
1811
1812 \item[\tt QMMM-grps =]\mbox{}\\groups to be described at the QM level
1813
1814 \item[\tt QMMMscheme = normal]\mbox{}\\Options are {\tt normal} and
1815 {\tt ONIOM}. This selects the QM/MM interface. {\tt normal} implies
1816 that the QM subsystem is electronically embedded in the MM
1817 subsystem. There can only be one {\tt QMMM-grps} that is modeled at
1818 the {\tt QMmethod} and {\tt QMbasis} level of {\it{ ab initio}}
1819 theory. The rest of the system is described at the MM level. The QM
1820 and MM subsystems interact as follows: MM point charges are included
1821 in the QM one-electron Hamiltonian and all Lennard-Jones interactions
1822 are described at the MM level. If {\tt ONIOM} is selected, the
1823 interaction between the subsystem is described using the ONIOM method
1824 by Morokuma and co-workers. There can be more than one QMMM-grps each
1825 modeled at a different level of QM theory (QMmethod and QMbasis).
1826
1827 \item[\tt QMmethod = ]\mbox{}\\Method used to compute the energy
1828 and gradients on the QM atoms. Available methods are AM1, PM3, RHF,
1829 UHF, DFT, B3LYP, MP2, CASSCF, MMVB and CPMD. For CASSCF, the number of
1830 electrons and orbitals included in the active space is specified by
1831 {\tt CASelectrons} and {\tt CASorbitals}. For CPMD, the plane-wave
1832 cut-off is specified by the {\tt planewavecutoff} keyword.
1833
1834 \item[\tt QMbasis = ]\mbox{}\\Gaussian basis set used to expand the
1835 electronic wave-function. Only Gaussian basis sets are currently
1836 available, i.e. STO-3G, 3-21G, 3-21G*, 3-21+G*, 6-21G, 6-31G, 6-31G*,
1837 6-31+G*, and 6-311G. For CPMD, which uses plane wave expansion rather
1838 than atom-centered basis functions, the {\tt planewavecutoff} keyword
1839 controls the plane wave expansion.
1840
1841 \item[\tt QMcharge = ]\mbox{}\\The total charge in {\it{e}} of the {\tt
1842 QMMM-grps}. In case there are more than one {\tt QMMM-grps}, the total
1843 charge of each ONIOM layer needs to be specified separately.
1844
1845 \item[\tt QMmult = ]\mbox{}\\The multiplicity of the {\tt
1846 QMMM-grps}. In case there are more than one {\tt QMMM-grps}, the
1847 multiplicity of each ONIOM layer needs to be specified separately.
1848
1849 \item[\tt CASorbitals = ]\mbox{}\\The number of orbitals to be
1850 included in the active space when doing a CASSCF computation.
1851
1852 \item[\tt CASelectrons = ]\mbox{}\\The number of electrons to be
1853 included in the active space when doing a CASSCF computation.
1854
1855 \item[\tt SH = no]\mbox{}\\If this is set to yes, a QM/MM MD
1856 simulation on the excited state-potential energy surface and enforce a
1857 diabatic hop to the ground-state when the system hits the conical
1858 intersection hyperline in the course the simulation. This option only
1859 works in combination with the CASSCF method.
1860
1861 \end{description}
1862
1863 \subsection{Output}
1864
1865 The energies and gradients computed in the QM calculation are added to
1866 those computed by {\gromacs}. In the {\tt .edr} file there is a section
1867 for the total QM energy.
1868
1869 \subsection{Future developments}
1870
1871 Several features are currently under development to increase the
1872 accuracy of the QM/MM interface. One useful feature is the use of
1873 delocalized MM charges in the QM computations. The most important
1874 benefit of using such smeared-out charges is that the Coulombic
1875 potential has a finite value at interatomic distances. In the point
1876 charge representation, the partially-charged MM atoms close to the QM
1877 region tend to ``over-polarize'' the QM system, which leads to artifacts
1878 in the calculation.
1879
1880 What is needed as well is a transition state optimizer.
1881
1882 \section{\normindex{Adaptive Resolution Scheme}}
1883 \newcommand{\adress}{AdResS}
1884 The adaptive resolution scheme~\cite{Praprotnik2005,Praprotnik2008} (\seeindex{\adress}{Adaptive Resolution Scheme}) couples two systems with different resolutions by a force interpolation scheme.
1885 In contrast to the mixed Quantum-Classical simulation techniques of the previous section, the number of high resolution particles is not fixed, but can vary over the simulation time.
1886
1887 Below we discuss {\adress} for a double resolution (atomistic and coarse grained) representation of the same system. See \figref{adress} for illustration.
1888 The details of implementation described in this section were published in~\cite{Junghans2010,Fritsch2012}.
1889
1890 \begin{figure}
1891 \begin{center}
1892 \includegraphics[width=0.5\textwidth]{plots/adress}
1893 \caption{A schematic illustration of the {\adress} method for water.} 
1894 \label{fig:adress}
1895 \end{center}
1896 \end{figure}
1897 Every molecule needs a well-defined mapping point (usually the center of mass)
1898 but any other linear combination of particle coordinates is also sufficient. 
1899 In the topology the mapping point is defined by a virtual site. The forces in the coarse-grained region are functions of the mapping point positions only.
1900 In this implementation molecules are modeled by charge groups or sets of charge groups, which actually allows one to have multiple mapping points per molecule. This can be useful for bigger molecules like polymers. In that case one has to also extend the AdResS description to bonded interactions~\cite{Praprotnik2011}, which will be implemented into \gromacs in one of the future versions.
1901
1902 The force between two molecules is given by~\cite{Praprotnik2005}
1903 \footnote{Note that the equation obeys Newton's third law, which is not the case for other interpolation schemes~\cite{DelleSite2007}.}:
1904 \begin{equation}
1905 \vec{F}_{\alpha\beta}=w_\alpha w_\beta \vec{F}^\mathrm{ex,mol}_{\alpha\beta} + \left[1-w_\alpha w_\beta\right] \vec{F}^\mathrm{cg,mol}_{\alpha\beta}~,
1906 \label{eqn:interpolation}
1907 \end{equation}
1908 where $\alpha$ and $\beta$ label the two molecules and $w_\alpha$, $w_\beta$ are the adaptive weights of the two molecules.
1909
1910 The first part, which represents the explicit interaction of the molecules, can be written as:
1911 \begin{equation}
1912 \vec{F}^\mathrm{ex,mol}_{\alpha\beta}=\sum_{i\in\alpha}\sum_{j\in\beta} \vec{F}^\mathrm{ex}_{ij}~,
1913 \end{equation}
1914 where $\vec{F}^\mathrm{ex}_{ij}$ is the force between the $i$th atom  in  $\alpha$th molecule and the $j$th atom in the $\beta$th molecule, which is given by an explicit force field.
1915 The second part of \eqnref{interpolation} comes from the coarse-grained interaction of the molecules.
1916 In \gromacs a slightly extended case is implemented:
1917 \begin{equation}
1918   \vec{F}_{\alpha\beta}=\sum_{i\in\alpha}\sum_{j\in\beta} w_i w_j \vec{F}^\mathrm{ex}_{ij} + \left[1-w_\alpha w_\beta\right] \vec{F}^\mathrm{cg,mol}_{\alpha\beta}~,
1919 \label{eqn:interpolation2}
1920 \end{equation}
1921 where $w_i$ and $w_j$ are atom-wise weights, which are determined by the {\tt adress-site} option. For {\tt adress-site} being the center of mass, atom $i$ has the weight of the center of mass of its \emph{charge group}.
1922 The weight $w_\alpha$ of molecule $\alpha$ is determined by the position of coarse-grained particle, which is constructed as a virtual site from the atomistic particles as specified in the topology.
1923 This extension allows one to perform all kind of AdResS variations, but the common case can be recovered by using a center of mass virtual site in the topology, {\tt adress-site=COM} and putting all atoms (except the virtual site representing the coarse-grained interaction) of a molecule into one charge group.
1924 For big molecules, it is sometimes useful to use an atom-based weight, which can be either be achieved by setting {\tt adress-site=atomperatom} or putting every atom into a separate charge group (the center of mass of a charge group with one atom is the atom itself).
1925
1926 The coarse-grained force field $\vec{F}^\mathrm{cg}$ is usually derived from the atomistic system by structure-based coarse-graining (see \secref{cg-forcefields}). To specify which atoms belong to a coarse-grained representation, energy groups are used.
1927 Each coarse-grained interaction has to be associated with a specific energy group, which is why the virtual sites representing the coarse-grained interactions also have to be in different charge groups. The energy groups which are treated as coarse-grained interactions are then listed in {\tt adress_cg_grp_names}.
1928 The most important element of this interpolation (see \eqnref{interpolation} and \eqnref{interpolation2}) is the adaptive weighting function (for illustration see \figref{adress}):
1929 \begin{equation}
1930 w(x)=
1931 \left\{\begin{array}{c@{\;:\;}l}
1932 1&\mathrm{atomistic/explicit\;region}\\
1933 0<w<1&\mathrm{hybrid\;region}\\
1934 0&\mathrm{coarse-grained\;region}
1935 \end{array}\right.~,
1936 \label{equ:weighting}
1937 \end{equation}
1938 which has a value between 0 and 1.
1939 This definition of $w$ gives a purely explicit force in the explicit region and a purely coarse-grained force in the coarse-grained region,
1940 so essentially \eqnref{interpolation} only the hybrid region has mixed interactions which would not appear in a standard simulation.
1941 In {\gromacs}, a $\cos^2$-like function is implemented as a weighting function:
1942 \begin{equation}
1943 w(x)=
1944 \left\{\begin{array}{c@{\;:\;}r@{x}l}
1945 0&&>d_\mathrm{ex}+d_\mathrm{hy}\\
1946 \cos^2\left(\frac{\pi}{2d_\mathrm{hy}}(x-d_\mathrm{ex})\right)&d_\mathrm{ex}+d_\mathrm{hy}>&>d_\mathrm{ex}\\
1947 1&d_\mathrm{ex}>&
1948 \end{array}\right.~,
1949 \label{equ:wf}
1950 \end{equation}
1951 where $d_\mathrm{ex}$ and $d_\mathrm{hy}$ are the sizes of the explicit and the hybrid region, respectively.
1952 Depending on the physical interest of the research, other functions could be implemented as long as the following boundary conditions are fulfilled:
1953 The function is 1) continuous, 2) monotonic and 3) has zero derivatives at the boundaries.
1954 Spherical and one-dimensional splitting  of the simulation box has been implemented ({\tt adress-type} option)
1955 and depending on this, the distance $x$ to the center of the explicit region is calculated as follows:
1956 \begin{equation}
1957 x=
1958 \left\{
1959 \begin{array}{c@{\;:\;}l}
1960   |(\vec{R}_\alpha-\vec{R}_\mathrm{ct})\cdot\hat{e}|&\mathrm{splitting\;in\;}\hat{e}\mathrm{\;direction}\\
1961 |\vec{R}_\alpha-\vec{R}_\mathrm{ct}|&\mathrm{spherical\;splitting}
1962 \end{array}
1963 \right.~,
1964 \end{equation}
1965 where $\vec{R}_\mathrm{ct}$ is the center of the explicit zone (defined by {\tt adress-reference-coords} option). $\vec{R}_\alpha$ is the mapping point of the $\alpha$th molecule. For the center of mass mapping, it is given by:
1966 \begin{equation}
1967 R_\alpha=\frac{\sum_{i\in\alpha}m_i r_i}{\sum_{i\in\alpha}m_i}
1968 \label{equ:com-def}
1969 \end{equation}
1970 Note that the value of the weighting function depends exclusively on the mapping of the molecule.
1971
1972 The interpolation of forces (see \eqnref{interpolation2}) can produce inhomogeneities in the density and affect the structure of the system in the hybrid region.
1973
1974 One way of reducing the density inhomogeneities is by the application of the so-called thermodynamic force (TF)~\cite{Poblete2010}.
1975 Such a force consists of a space-dependent external field applied in the hybrid region on the coarse-grained site of each molecule. It can be specified for each of the species of the system.
1976 The TF compensates the pressure profile~\cite{Fritsch2012b} that emerges under a homogeneous density profile. Therefore, it can correct the local density inhomogeneities in the hybrid region and it also allows the coupling of atomistic and coarse-grained representations which by construction have different pressures at the target density.
1977 The field can be determined by an iterative procedure, which is described in detail in the \href{http://code.google.com/p/votca/downloads/list?&q=manual}{manual} of the \normindex{VOTCA package}~\cite{ruehle2009}. Setting the {\tt adress-interface-correction} to {\tt thermoforce} enables the TF correction and\newline{\tt adress-tf-grp-names} defines the energy groups to act on.
1978
1979 \subsection{Example: Adaptive resolution simulation of water}\label{subsec:adressexample}
1980 In this section the set up of  an adaptive resolution simulation coupling atomistic SPC ~\cite{Berendsen81} water to its coarse-grained representation will be explained (as used in \cite{Fritsch2012b}).
1981 The following steps are required to setup the simulation:
1982 \begin{itemize}
1983 \item Perform a reference all-atom simulation
1984 \item Create a coarse-grained representation and save it as tabulated interaction function 
1985 \item Create a hybrid topology for the SPC water
1986 \item Modify the atomistic coordinate file to include the coarse grained representation
1987 \item Define the geometry of the adaptive simulation in the grompp input file
1988 \item Create an index file
1989 \end{itemize}
1990 The coarse-grained representation of the interaction is stored as tabulated interaction function see \ssecref{userpot}. The convention is to use the $C^{(12)}$  columns with the  $C^{(12)}$- coefficient set to 1. All other columns should be zero. The VOTCA manual has detailed instructions and a tutorial for SPC water on how to coarse-grain the interaction using various techniques.
1991 Here we named the coarse grained interaction CG, so the corresponding tabulated file is {\tt table_CG_CG.xvg}. To create the topology one can start from the atomistic topology file (e.g. share/gromacs/top/oplsaa.ff/spc.itp), we are assuming rigid water here. In the VOTCA tutorial the file is named {\tt hybrid_spc.itp}.
1992 The only difference to the atomistic topology is the addition of a coarse-grained virtual site:
1993 {\small
1994 \begin{verbatim}
1995 [ moleculetype ]
1996 ; molname       nrexcl
1997 SOL             2
1998
1999 [ atoms ]
2000 ;   nr   type  resnr residue  atom   cgnr     charge       mass
2001      1  opls_116   1    SOL     OW      1      -0.82
2002      2  opls_117   1    SOL    HW1      1       0.41
2003      3  opls_117   1    SOL    HW2      1       0.41
2004      4     CG      1    SOL     CG      2       0
2005
2006
2007 [ settles ]
2008 ; OW    funct   doh     dhh
2009 1       1       0.1     0.16330
2010
2011 [ exclusions ]
2012 1       2       3
2013 2       1       3
2014 3       1       2
2015
2016 [ virtual_sites3 ]
2017 ; Site from funct a d
2018 4 1 2 3 1 0.05595E+00 0.05595E+00
2019 \end{verbatim}}
2020 The virtual site type 3 with the specified coefficients places the virtual site in the center of mass of the molecule (for larger molecules virtual_sitesn has to be used).
2021 We now need to include our modified water model in the topology file and define the type {\tt CG}. In {\tt topol.top}:
2022 {\small
2023 \begin{verbatim}
2024 #include "ffoplsaa.itp"
2025
2026 [ atomtypes ]
2027 ;name  mass        charge    ptype   sigma     epsilon
2028  CG    0.00000     0.0000    V       1    0.25
2029
2030 #include "hybrid_spc.itp"
2031
2032 [ system ]
2033 Adaptive water
2034 [ molecules ]
2035 SOL    8507
2036 \end{verbatim}}
2037 The $\sigma$ and $\epsilon$ values correspond to $C_6=1$ and $C_{12}=1$ and thus the table file should contain the coarse-grained interaction in either the $C_6$ or $C_{12}$ column. In the example the OPLS force field is used where $\sigma$ and $\epsilon$ are specified.
2038 Note that for force fields which define atomtypes directly in terms of $C_6$ and $C_{12}$, one can simply set $C_6=0$ and $C_{12}=1$. See section \ssecref{userpot} for more details on tabulated interactions. Since now the water molecule has a virtual site the coordinate file also needs to include that.
2039 {\small
2040 \begin{verbatim}
2041 adaptive water coordinates
2042 34028
2043     1SOL     OW    1   0.283   0.886   0.647
2044     1SOL    HW1    2   0.359   0.884   0.711
2045     1SOL    HW2    3   0.308   0.938   0.566
2046     1SOL     CG    4   0.289   0.889   0.646
2047     1SOL     OW    5   1.848   0.918   0.082
2048     1SOL    HW1    6   1.760   0.930   0.129
2049     1SOL    HW2    7   1.921   0.912   0.150
2050     1SOL     CG    8   1.847   0.918   0.088
2051     (...)
2052 \end{verbatim}}
2053 This file can be created manually or using the VOTCA tool {\tt csg_map } with the {\tt --hybrid} option.\\
2054 In the grompp input file the AdResS feature needs to be enabled and the geometry defined.
2055 {\small
2056 \begin{verbatim}
2057 (...)
2058 ; AdResS relevant options
2059 energygrps               = CG
2060 energygrp_table          = CG CG
2061
2062 ; Method for doing Van der Waals
2063 vdw-type                 = user
2064
2065 adress                  = yes
2066 adress_type             = xsplit
2067 adress_ex_width         = 1.5
2068 adress_hy_width         = 1.5
2069 adress_interface_correction = off
2070 adress_reference_coords = 8 0 0
2071 adress_cg_grp_names = CG
2072 \end{verbatim}}
2073
2074 Here we are defining an energy group {\tt CG} which consists of the coarse-grained virtual site.
2075 As discussed above, the coarse-grained interaction is usually tabulated. This requires the {\tt vdw-type} parameter to be set to {\tt user}. In the case where multi-component systems are coarse-grained, an energy group has to be defined for each component. Note that all the energy groups defining coarse-grained representations have to be listed again in {\tt adress_cg_grp_names} to distinguish them from regular energy groups.\\
2076 The index file has to be updated to have a group CG which includes all the coarse-grained virtual sites. This can be done easily using the {\tt make_ndx} tool of gromacs.
2077
2078 \section{Using VMD plug-ins for trajectory file I/O}
2079 \index{VMD plug-ins}\index{trajectory file}{\gromacs} tools are able
2080 to use the plug-ins found in an existing installation of
2081 \href{http://www.ks.uiuc.edu/Research/vmd}{VMD} in order to read and
2082 write trajectory files in formats that are not native to
2083 {\gromacs}. You will be able to supply an AMBER DCD-format trajectory
2084 filename directly to {\gromacs} tools, for example.
2085
2086 This requires a VMD installation not older than version 1.8, that your
2087 system provides the dlopen function so that programs can determine at
2088 run time what plug-ins exist, and that you build shared libraries when
2089 building {\gromacs}. CMake will find the vmd executable in your path, and
2090 from it, or the environment variable {\tt VMDDIR} at configuration or
2091 run time, locate the plug-ins. Alternatively, the {\tt VMD_PLUGIN_PATH}
2092 can be used at run time to specify a path where these plug-ins can be
2093 found. Note that these plug-ins are in a binary format, and that format
2094 must match the architecture of the machine attempting to use them.
2095
2096
2097 \section{\normindex{Interactive Molecular Dynamics}}
2098 {\gromacs} supports the interactive molecular dynamics (IMD) protocol as implemented
2099 by \href{http://www.ks.uiuc.edu/Research/vmd}{VMD} to control a running simulation
2100 in NAMD. IMD allows to monitor a running {\gromacs} simulation from a VMD client.
2101 In addition, the user can interact with the simulation by pulling on atoms, residues
2102 or fragments with a mouse or a force-feedback device. Additional information about
2103 the {\gromacs} implementation and an exemplary {\gromacs} IMD system can be found
2104 \href{http://www.mpibpc.mpg.de/grubmueller/interactivemd}{on this homepage}.
2105
2106 \subsection{Simulation input preparation}
2107 The {\gromacs} implementation allows transmission and interaction with a part of the
2108 running simulation only, e.g.\ in cases where no water molecules should be transmitted
2109 or pulled. The group is specified via the {\tt .mdp} option {\tt IMD-group}. When
2110 {\tt IMD-group} is empty, the IMD protocol is disabled and cannot be enabled via the
2111 switches in {\tt mdrun}. To interact with the entire system, {\tt IMD-group} can
2112 be set to {\tt System}. When using {\tt grompp}, a {\tt .gro} file
2113 to be used as VMD input is written out ({\tt -imd} switch of {\tt grompp}).
2114
2115 \subsection{Starting the simulation}
2116 Communication between VMD and {\gromacs} is achieved via TCP sockets and thus enables
2117 controlling an {\tt mdrun} running locally or on a remote cluster. The port for the
2118 connection can be specified with the {\tt -imdport} switch of {\tt mdrun}, 8888 is
2119 the default. If a port number of 0 or smaller is provided, {\gromacs} automatically
2120 assigns a free port to use with IMD.
2121
2122 Every $N$ steps, the {\tt mdrun} client receives the applied forces from VMD and sends the new
2123 positions to the client. VMD permits increasing or decreasing the communication frequency
2124 interactively.
2125 By default, the simulation starts and runs even if no IMD client is connected. This
2126 behavior is changed by the {\tt -imdwait} switch of {\tt mdrun}. After startup and
2127 whenever the client has disconnected, the integration stops until reconnection of
2128 the client.
2129 When the {\tt -imdterm} switch is used, the simulation can be terminated by pressing
2130 the stop button in VMD. This is disabled by default.
2131 Finally, to allow interacting with the simulation (i.e. pulling from VMD) the {\tt -imdpull}
2132 switch has to be used.
2133 Therefore, a simulation can only be monitored but not influenced from the VMD client
2134 when none of {\tt -imdwait}, {\tt -imdterm} or {\tt -imdpull} are set. However, since
2135 the IMD protocol requires no authentication, it is not advisable to run simulations on
2136 a host directly reachable from an insecure environment. Secure shell forwarding of TCP
2137 can be used to connect to running simulations not directly reachable from the interacting host.
2138 Note that the IMD command line switches of {\tt mdrun} are hidden by default and show
2139 up in the help text only with {\tt gmx mdrun -h -hidden}.
2140
2141 \subsection{Connecting from VMD}
2142 In VMD, first the structure corresponding to the IMD group has to be loaded ({\it File
2143 $\rightarrow$ New Molecule}). Then the IMD connection window has to be used
2144 ({\it Extensions $\rightarrow$ Simulation $\rightarrow$ IMD Connect (NAMD)}). In the IMD
2145 connection window, hostname and port have to be specified and followed by pressing
2146 {\it Connect}. {\it Detach Sim} allows disconnecting without terminating the simulation, while
2147 {\it Stop Sim} ends the simulation on the next neighbor searching step (if allowed by
2148 {\tt -imdterm}).
2149
2150 The timestep transfer rate allows adjusting the communication frequency between simulation
2151 and IMD client. Setting the keep rate loads every $N^\mathrm{th}$ frame into VMD instead
2152 of discarding them when a new one is received. The displayed energies are in SI units
2153 in contrast to energies displayed from NAMD simulations.
2154
2155
2156 % LocalWords:  PMF pmf kJ mol Jarzynski BT bilayer rup mdp AFM fepmf fecalc rb
2157 % LocalWords:  posre grompp fs Verlet dihedrals hydrogens hydroxyl sulfhydryl
2158 % LocalWords:  vsitehydro planarity chirality pdb gmx virtualize virtualized xz
2159 % LocalWords:  vis massless tryptophan histidine phenyl parameterizing ij PPPM
2160 % LocalWords:  parameterization Berendsen rlist coulombtype rcoulomb vdwtype LJ
2161 % LocalWords:  rvdw energygrp mdrun pre GMXLIB MOPAC GAMESS CPMD ONIOM
2162 % LocalWords:  Morokuma iJ AQ AJ initio atomtype QMatom MMatom QMMM grps et al
2163 % LocalWords:  QMmethod QMbasis QMMMscheme RHF DFT LYP CASSCF MMVB CASelectrons
2164 % LocalWords:  CASorbitals planewavecutoff STO QMcharge QMmult diabatic edr
2165 % LocalWords:  hyperline delocalized Coulombic indices nm ccc th ps
2166 % LocalWords:  GTX CPUs GHz md sd bd vv avek tcoupl andersen tc OPLSAA GROMOS
2167 % LocalWords:  OBC obc CCMA tol pbc xyz barostat pcoupl acc gpu PLUGIN Cmake GX
2168 % LocalWords:  MSVC gcc installpath cmake DGMX DCMAKE functionalities GPGPU GTS
2169 % LocalWords:  OpenCL DeviceID gromacs gpus html GeForce Quadro FX Plex CX GF
2170 % LocalWords:  VMD DCD GROningen MAchine BIOSON Groningen der Spoel Drunen Comp
2171 % LocalWords:  Phys Comm moltype intramol vdw Waals fep multivector pf
2172 % LocalWords:  pymbar dhdl xvg LINCS Entropic entropic solutes ref com iso pm
2173 % LocalWords:  rm prefactors equipotential potiso potisopf potpm trr
2174 % LocalWords:  potrm potrmpf midplanes midplane gaussians potflex vars massw av
2175 % LocalWords:  shure observables rccccccc vec eps dist min eqn transl nstsout
2176 % LocalWords:  nstrout rotangles rotslabs rottorque RMSD rmsdfit excl NH amine
2177 % LocalWords:  positionrestraint es SH phenylalanine solvated sh nanometer QM
2178 % LocalWords:  Lennard Buckingham UK Svensson ab vsitetop co UHF MP interatomic
2179 % LocalWords:  AdResS adress cg grp coords TF VOTCA thermoforce tf SPC userpot
2180 % LocalWords:  itp sitesn atomtypes ff csg ndx Tesla CHARMM AA gauss
2181 % LocalWords:  CMAP nocmap fators Monte performant lib LD DIR llllcc
2182 % LocalWords:  CMake homepage DEV overclocking GT dlopen vmd VMDDIR
2183 % LocalWords:  versa PME atomperatom graining forcefields hy spc OPLS
2184 % LocalWords:  topol multi