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