ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/tengDissertation/Methodology.tex
Revision: 2776
Committed: Thu May 25 21:32:14 2006 UTC (18 years, 1 month ago) by tim
Content type: application/x-tex
File size: 29209 byte(s)
Log Message:
Adding Lipid Chapter

File Contents

# Content
1 \chapter{\label{chapt:methodology}METHODOLOGY}
2
3 \section{\label{methodSection:rigidBodyIntegrators}Integrators for Rigid Body Motion in Molecular Dynamics}
4
5 In order to mimic the experiments, which are usually performed under
6 constant temperature and/or pressure, extended Hamiltonian system
7 methods have been developed to generate statistical ensembles, such
8 as canonical ensemble and isobaric-isothermal ensemble \textit{etc}.
9 In addition to the standard ensemble, specific ensembles have been
10 developed to account for the anisotropy between the lateral and
11 normal directions of membranes. The $NPAT$ ensemble, in which the
12 normal pressure and the lateral surface area of the membrane are
13 kept constant, and the $NP\gamma T$ ensemble, in which the normal
14 pressure and the lateral surface tension are kept constant were
15 proposed to address this issue.
16
17 Integration schemes for rotational motion of the rigid molecules in
18 microcanonical ensemble have been extensively studied in the last
19 two decades. Matubayasi and Nakahara developed a time-reversible
20 integrator for rigid bodies in quaternion representation. Although
21 it is not symplectic, this integrator still demonstrates a better
22 long-time energy conservation than traditional methods because of
23 the time-reversible nature. Extending Trotter-Suzuki to general
24 system with a flat phase space, Miller and his colleagues devised an
25 novel symplectic, time-reversible and volume-preserving integrator
26 in quaternion representation, which was shown to be superior to the
27 time-reversible integrator of Matubayasi and Nakahara. However, all
28 of the integrators in quaternion representation suffer from the
29 computational penalty of constructing a rotation matrix from
30 quaternions to evolve coordinates and velocities at every time step.
31 An alternative integration scheme utilizing rotation matrix directly
32 proposed by Dullweber, Leimkuhler and McLachlan (DLM) also preserved
33 the same structural properties of the Hamiltonian flow. In this
34 section, the integration scheme of DLM method will be reviewed and
35 extended to other ensembles.
36
37 \subsection{\label{methodSection:DLM}Integrating the Equations of Motion: the
38 DLM method}
39
40 The DLM method uses a Trotter factorization of the orientational
41 propagator. This has three effects:
42 \begin{enumerate}
43 \item the integrator is area-preserving in phase space (i.e. it is
44 {\it symplectic}),
45 \item the integrator is time-{\it reversible}, making it suitable for Hybrid
46 Monte Carlo applications, and
47 \item the error for a single time step is of order $\mathcal{O}\left(h^4\right)$
48 for timesteps of length $h$.
49 \end{enumerate}
50
51 The integration of the equations of motion is carried out in a
52 velocity-Verlet style 2-part algorithm, where $h= \delta t$:
53
54 {\tt moveA:}
55 \begin{align*}
56 {\bf v}\left(t + h / 2\right) &\leftarrow {\bf v}(t)
57 + \frac{h}{2} \left( {\bf f}(t) / m \right), \\
58 %
59 {\bf r}(t + h) &\leftarrow {\bf r}(t)
60 + h {\bf v}\left(t + h / 2 \right), \\
61 %
62 {\bf j}\left(t + h / 2 \right) &\leftarrow {\bf j}(t)
63 + \frac{h}{2} {\bf \tau}^b(t), \\
64 %
65 \mathsf{A}(t + h) &\leftarrow \mathrm{rotate}\left( h {\bf j}
66 (t + h / 2) \cdot \overleftrightarrow{\mathsf{I}}^{-1} \right).
67 \end{align*}
68
69 In this context, the $\mathrm{rotate}$ function is the reversible
70 product of the three body-fixed rotations,
71 \begin{equation}
72 \mathrm{rotate}({\bf a}) = \mathsf{G}_x(a_x / 2) \cdot
73 \mathsf{G}_y(a_y / 2) \cdot \mathsf{G}_z(a_z) \cdot \mathsf{G}_y(a_y
74 / 2) \cdot \mathsf{G}_x(a_x /2),
75 \end{equation}
76 where each rotational propagator, $\mathsf{G}_\alpha(\theta)$,
77 rotates both the rotation matrix ($\mathsf{A}$) and the body-fixed
78 angular momentum (${\bf j}$) by an angle $\theta$ around body-fixed
79 axis $\alpha$,
80 \begin{equation}
81 \mathsf{G}_\alpha( \theta ) = \left\{
82 \begin{array}{lcl}
83 \mathsf{A}(t) & \leftarrow & \mathsf{A}(0) \cdot \mathsf{R}_\alpha(\theta)^T, \\
84 {\bf j}(t) & \leftarrow & \mathsf{R}_\alpha(\theta) \cdot {\bf
85 j}(0).
86 \end{array}
87 \right.
88 \end{equation}
89 $\mathsf{R}_\alpha$ is a quadratic approximation to the single-axis
90 rotation matrix. For example, in the small-angle limit, the
91 rotation matrix around the body-fixed x-axis can be approximated as
92 \begin{equation}
93 \mathsf{R}_x(\theta) \approx \left(
94 \begin{array}{ccc}
95 1 & 0 & 0 \\
96 0 & \frac{1-\theta^2 / 4}{1 + \theta^2 / 4} & -\frac{\theta}{1+
97 \theta^2 / 4} \\
98 0 & \frac{\theta}{1+ \theta^2 / 4} & \frac{1-\theta^2 / 4}{1 +
99 \theta^2 / 4}
100 \end{array}
101 \right).
102 \end{equation}
103 All other rotations follow in a straightforward manner.
104
105 After the first part of the propagation, the forces and body-fixed
106 torques are calculated at the new positions and orientations
107
108 {\tt doForces:}
109 \begin{align*}
110 {\bf f}(t + h) &\leftarrow
111 - \left(\frac{\partial V}{\partial {\bf r}}\right)_{{\bf r}(t + h)}, \\
112 %
113 {\bf \tau}^{s}(t + h) &\leftarrow {\bf u}(t + h)
114 \times \frac{\partial V}{\partial {\bf u}}, \\
115 %
116 {\bf \tau}^{b}(t + h) &\leftarrow \mathsf{A}(t + h)
117 \cdot {\bf \tau}^s(t + h).
118 \end{align*}
119
120 {\sc oopse} automatically updates ${\bf u}$ when the rotation matrix
121 $\mathsf{A}$ is calculated in {\tt moveA}. Once the forces and
122 torques have been obtained at the new time step, the velocities can
123 be advanced to the same time value.
124
125 {\tt moveB:}
126 \begin{align*}
127 {\bf v}\left(t + h \right) &\leftarrow {\bf v}\left(t + h / 2
128 \right)
129 + \frac{h}{2} \left( {\bf f}(t + h) / m \right), \\
130 %
131 {\bf j}\left(t + h \right) &\leftarrow {\bf j}\left(t + h / 2
132 \right)
133 + \frac{h}{2} {\bf \tau}^b(t + h) .
134 \end{align*}
135
136 The matrix rotations used in the DLM method end up being more costly
137 computationally than the simpler arithmetic quaternion propagation.
138 With the same time step, a 1000-molecule water simulation shows an
139 average 7\% increase in computation time using the DLM method in
140 place of quaternions. This cost is more than justified when
141 comparing the energy conservation of the two methods as illustrated
142 in Fig.~\ref{timestep}.
143
144 \begin{figure}
145 \centering
146 \includegraphics[width=\linewidth]{timeStep.eps}
147 \caption[Energy conservation for quaternion versus DLM
148 dynamics]{Energy conservation using quaternion based integration
149 versus the method proposed by Dullweber \emph{et al.} with
150 increasing time step. For each time step, the dotted line is total
151 energy using the DLM integrator, and the solid line comes from the
152 quaternion integrator. The larger time step plots are shifted up
153 from the true energy baseline for clarity.} \label{timestep}
154 \end{figure}
155
156 In Fig.~\ref{timestep}, the resulting energy drift at various time
157 steps for both the DLM and quaternion integration schemes is
158 compared. All of the 1000 molecule water simulations started with
159 the same configuration, and the only difference was the method for
160 handling rotational motion. At time steps of 0.1 and 0.5 fs, both
161 methods for propagating molecule rotation conserve energy fairly
162 well, with the quaternion method showing a slight energy drift over
163 time in the 0.5 fs time step simulation. At time steps of 1 and 2
164 fs, the energy conservation benefits of the DLM method are clearly
165 demonstrated. Thus, while maintaining the same degree of energy
166 conservation, one can take considerably longer time steps, leading
167 to an overall reduction in computation time.
168
169 \subsection{\label{methodSection:NVT}Nos\'{e}-Hoover Thermostatting}
170
171 The Nos\'e-Hoover equations of motion are given by\cite{Hoover85}
172 \begin{eqnarray}
173 \dot{{\bf r}} & = & {\bf v}, \\
174 \dot{{\bf v}} & = & \frac{{\bf f}}{m} - \chi {\bf v} ,\\
175 \dot{\mathsf{A}} & = & \mathsf{A} \cdot
176 \mbox{ skew}\left(\overleftrightarrow{\mathsf{I}}^{-1} \cdot {\bf j}\right), \\
177 \dot{{\bf j}} & = & {\bf j} \times \left(
178 \overleftrightarrow{\mathsf{I}}^{-1} \cdot {\bf j} \right) - \mbox{
179 rot}\left(\mathsf{A}^{T} \cdot \frac{\partial V}{\partial
180 \mathsf{A}} \right) - \chi {\bf j}. \label{eq:nosehoovereom}
181 \end{eqnarray}
182
183 $\chi$ is an ``extra'' variable included in the extended system, and
184 it is propagated using the first order equation of motion
185 \begin{equation}
186 \dot{\chi} = \frac{1}{\tau_{T}^2} \left(
187 \frac{T}{T_{\mathrm{target}}} - 1 \right). \label{eq:nosehooverext}
188 \end{equation}
189
190 The instantaneous temperature $T$ is proportional to the total
191 kinetic energy (both translational and orientational) and is given
192 by
193 \begin{equation}
194 T = \frac{2 K}{f k_B}
195 \end{equation}
196 Here, $f$ is the total number of degrees of freedom in the system,
197 \begin{equation}
198 f = 3 N + 3 N_{\mathrm{orient}} - N_{\mathrm{constraints}},
199 \end{equation}
200 and $K$ is the total kinetic energy,
201 \begin{equation}
202 K = \sum_{i=1}^{N} \frac{1}{2} m_i {\bf v}_i^T \cdot {\bf v}_i +
203 \sum_{i=1}^{N_{\mathrm{orient}}} \frac{1}{2} {\bf j}_i^T \cdot
204 \overleftrightarrow{\mathsf{I}}_i^{-1} \cdot {\bf j}_i.
205 \end{equation}
206
207 In eq.(\ref{eq:nosehooverext}), $\tau_T$ is the time constant for
208 relaxation of the temperature to the target value. To set values
209 for $\tau_T$ or $T_{\mathrm{target}}$ in a simulation, one would use
210 the {\tt tauThermostat} and {\tt targetTemperature} keywords in the
211 {\tt .bass} file. The units for {\tt tauThermostat} are fs, and the
212 units for the {\tt targetTemperature} are degrees K. The
213 integration of the equations of motion is carried out in a
214 velocity-Verlet style 2 part algorithm:
215
216 {\tt moveA:}
217 \begin{align*}
218 T(t) &\leftarrow \left\{{\bf v}(t)\right\}, \left\{{\bf j}(t)\right\} ,\\
219 %
220 {\bf v}\left(t + h / 2\right) &\leftarrow {\bf v}(t)
221 + \frac{h}{2} \left( \frac{{\bf f}(t)}{m} - {\bf v}(t)
222 \chi(t)\right), \\
223 %
224 {\bf r}(t + h) &\leftarrow {\bf r}(t)
225 + h {\bf v}\left(t + h / 2 \right) ,\\
226 %
227 {\bf j}\left(t + h / 2 \right) &\leftarrow {\bf j}(t)
228 + \frac{h}{2} \left( {\bf \tau}^b(t) - {\bf j}(t)
229 \chi(t) \right) ,\\
230 %
231 \mathsf{A}(t + h) &\leftarrow \mathrm{rotate}
232 \left(h * {\bf j}(t + h / 2)
233 \overleftrightarrow{\mathsf{I}}^{-1} \right) ,\\
234 %
235 \chi\left(t + h / 2 \right) &\leftarrow \chi(t)
236 + \frac{h}{2 \tau_T^2} \left( \frac{T(t)}
237 {T_{\mathrm{target}}} - 1 \right) .
238 \end{align*}
239
240 Here $\mathrm{rotate}(h * {\bf j}
241 \overleftrightarrow{\mathsf{I}}^{-1})$ is the same symplectic
242 Trotter factorization of the three rotation operations that was
243 discussed in the section on the DLM integrator. Note that this
244 operation modifies both the rotation matrix $\mathsf{A}$ and the
245 angular momentum ${\bf j}$. {\tt moveA} propagates velocities by a
246 half time step, and positional degrees of freedom by a full time
247 step. The new positions (and orientations) are then used to
248 calculate a new set of forces and torques in exactly the same way
249 they are calculated in the {\tt doForces} portion of the DLM
250 integrator.
251
252 Once the forces and torques have been obtained at the new time step,
253 the temperature, velocities, and the extended system variable can be
254 advanced to the same time value.
255
256 {\tt moveB:}
257 \begin{align*}
258 T(t + h) &\leftarrow \left\{{\bf v}(t + h)\right\},
259 \left\{{\bf j}(t + h)\right\}, \\
260 %
261 \chi\left(t + h \right) &\leftarrow \chi\left(t + h /
262 2 \right) + \frac{h}{2 \tau_T^2} \left( \frac{T(t+h)}
263 {T_{\mathrm{target}}} - 1 \right), \\
264 %
265 {\bf v}\left(t + h \right) &\leftarrow {\bf v}\left(t
266 + h / 2 \right) + \frac{h}{2} \left(
267 \frac{{\bf f}(t + h)}{m} - {\bf v}(t + h)
268 \chi(t h)\right) ,\\
269 %
270 {\bf j}\left(t + h \right) &\leftarrow {\bf j}\left(t
271 + h / 2 \right) + \frac{h}{2}
272 \left( {\bf \tau}^b(t + h) - {\bf j}(t + h)
273 \chi(t + h) \right) .
274 \end{align*}
275
276 Since ${\bf v}(t + h)$ and ${\bf j}(t + h)$ are required to
277 caclculate $T(t + h)$ as well as $\chi(t + h)$, they indirectly
278 depend on their own values at time $t + h$. {\tt moveB} is
279 therefore done in an iterative fashion until $\chi(t + h)$ becomes
280 self-consistent. The relative tolerance for the self-consistency
281 check defaults to a value of $\mbox{10}^{-6}$, but {\sc oopse} will
282 terminate the iteration after 4 loops even if the consistency check
283 has not been satisfied.
284
285 The Nos\'e-Hoover algorithm is known to conserve a Hamiltonian for
286 the extended system that is, to within a constant, identical to the
287 Helmholtz free energy,\cite{melchionna93}
288 \begin{equation}
289 H_{\mathrm{NVT}} = V + K + f k_B T_{\mathrm{target}} \left(
290 \frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime)
291 dt^\prime \right).
292 \end{equation}
293 Poor choices of $h$ or $\tau_T$ can result in non-conservation of
294 $H_{\mathrm{NVT}}$, so the conserved quantity is maintained in the
295 last column of the {\tt .stat} file to allow checks on the quality
296 of the integration.
297
298 Bond constraints are applied at the end of both the {\tt moveA} and
299 {\tt moveB} portions of the algorithm. Details on the constraint
300 algorithms are given in section \ref{oopseSec:rattle}.
301
302 \subsection{\label{methodSection:NPTi}Constant-pressure integration with
303 isotropic box deformations (NPTi)}
304
305 To carry out isobaric-isothermal ensemble calculations {\sc oopse}
306 implements the Melchionna modifications to the
307 Nos\'e-Hoover-Andersen equations of motion,\cite{melchionna93}
308
309 \begin{eqnarray}
310 \dot{{\bf r}} & = & {\bf v} + \eta \left( {\bf r} - {\bf R}_0 \right), \\
311 \dot{{\bf v}} & = & \frac{{\bf f}}{m} - (\eta + \chi) {\bf v}, \\
312 \dot{\mathsf{A}} & = & \mathsf{A} \cdot
313 \mbox{ skew}\left(\overleftrightarrow{I}^{-1} \cdot {\bf j}\right),\\
314 \dot{{\bf j}} & = & {\bf j} \times \left(
315 \overleftrightarrow{I}^{-1} \cdot {\bf j} \right) - \mbox{
316 rot}\left(\mathsf{A}^{T} \cdot \frac{\partial
317 V}{\partial \mathsf{A}} \right) - \chi {\bf j}, \\
318 \dot{\chi} & = & \frac{1}{\tau_{T}^2} \left(
319 \frac{T}{T_{\mathrm{target}}} - 1 \right) ,\\
320 \dot{\eta} & = & \frac{1}{\tau_{B}^2 f k_B T_{\mathrm{target}}} V
321 \left( P -
322 P_{\mathrm{target}} \right), \\
323 \dot{\mathcal{V}} & = & 3 \mathcal{V} \eta . \label{eq:melchionna1}
324 \end{eqnarray}
325
326 $\chi$ and $\eta$ are the ``extra'' degrees of freedom in the
327 extended system. $\chi$ is a thermostat, and it has the same
328 function as it does in the Nos\'e-Hoover NVT integrator. $\eta$ is
329 a barostat which controls changes to the volume of the simulation
330 box. ${\bf R}_0$ is the location of the center of mass for the
331 entire system, and $\mathcal{V}$ is the volume of the simulation
332 box. At any time, the volume can be calculated from the determinant
333 of the matrix which describes the box shape:
334 \begin{equation}
335 \mathcal{V} = \det(\mathsf{H}).
336 \end{equation}
337
338 The NPTi integrator requires an instantaneous pressure. This
339 quantity is calculated via the pressure tensor,
340 \begin{equation}
341 \overleftrightarrow{\mathsf{P}}(t) = \frac{1}{\mathcal{V}(t)} \left(
342 \sum_{i=1}^{N} m_i {\bf v}_i(t) \otimes {\bf v}_i(t) \right) +
343 \overleftrightarrow{\mathsf{W}}(t).
344 \end{equation}
345 The kinetic contribution to the pressure tensor utilizes the {\it
346 outer} product of the velocities denoted by the $\otimes$ symbol.
347 The stress tensor is calculated from another outer product of the
348 inter-atomic separation vectors (${\bf r}_{ij} = {\bf r}_j - {\bf
349 r}_i$) with the forces between the same two atoms,
350 \begin{equation}
351 \overleftrightarrow{\mathsf{W}}(t) = \sum_{i} \sum_{j>i} {\bf
352 r}_{ij}(t) \otimes {\bf f}_{ij}(t).
353 \end{equation}
354 The instantaneous pressure is then simply obtained from the trace of
355 the Pressure tensor,
356 \begin{equation}
357 P(t) = \frac{1}{3} \mathrm{Tr} \left(
358 \overleftrightarrow{\mathsf{P}}(t). \right)
359 \end{equation}
360
361 In eq.(\ref{eq:melchionna1}), $\tau_B$ is the time constant for
362 relaxation of the pressure to the target value. To set values for
363 $\tau_B$ or $P_{\mathrm{target}}$ in a simulation, one would use the
364 {\tt tauBarostat} and {\tt targetPressure} keywords in the {\tt
365 .bass} file. The units for {\tt tauBarostat} are fs, and the units
366 for the {\tt targetPressure} are atmospheres. Like in the NVT
367 integrator, the integration of the equations of motion is carried
368 out in a velocity-Verlet style 2 part algorithm:
369
370 {\tt moveA:}
371 \begin{align*}
372 T(t) &\leftarrow \left\{{\bf v}(t)\right\}, \left\{{\bf j}(t)\right\} ,\\
373 %
374 P(t) &\leftarrow \left\{{\bf r}(t)\right\}, \left\{{\bf v}(t)\right\} ,\\
375 %
376 {\bf v}\left(t + h / 2\right) &\leftarrow {\bf v}(t)
377 + \frac{h}{2} \left( \frac{{\bf f}(t)}{m} - {\bf v}(t)
378 \left(\chi(t) + \eta(t) \right) \right), \\
379 %
380 {\bf j}\left(t + h / 2 \right) &\leftarrow {\bf j}(t)
381 + \frac{h}{2} \left( {\bf \tau}^b(t) - {\bf j}(t)
382 \chi(t) \right), \\
383 %
384 \mathsf{A}(t + h) &\leftarrow \mathrm{rotate}\left(h *
385 {\bf j}(t + h / 2) \overleftrightarrow{\mathsf{I}}^{-1}
386 \right) ,\\
387 %
388 \chi\left(t + h / 2 \right) &\leftarrow \chi(t) +
389 \frac{h}{2 \tau_T^2} \left( \frac{T(t)}{T_{\mathrm{target}}} - 1
390 \right) ,\\
391 %
392 \eta(t + h / 2) &\leftarrow \eta(t) + \frac{h
393 \mathcal{V}(t)}{2 N k_B T(t) \tau_B^2} \left( P(t)
394 - P_{\mathrm{target}} \right), \\
395 %
396 {\bf r}(t + h) &\leftarrow {\bf r}(t) + h
397 \left\{ {\bf v}\left(t + h / 2 \right)
398 + \eta(t + h / 2)\left[ {\bf r}(t + h)
399 - {\bf R}_0 \right] \right\} ,\\
400 %
401 \mathsf{H}(t + h) &\leftarrow e^{-h \eta(t + h / 2)}
402 \mathsf{H}(t).
403 \end{align*}
404
405 Most of these equations are identical to their counterparts in the
406 NVT integrator, but the propagation of positions to time $t + h$
407 depends on the positions at the same time. {\sc oopse} carries out
408 this step iteratively (with a limit of 5 passes through the
409 iterative loop). Also, the simulation box $\mathsf{H}$ is scaled
410 uniformly for one full time step by an exponential factor that
411 depends on the value of $\eta$ at time $t + h / 2$. Reshaping the
412 box uniformly also scales the volume of the box by
413 \begin{equation}
414 \mathcal{V}(t + h) \leftarrow e^{ - 3 h \eta(t + h /2)}.
415 \mathcal{V}(t)
416 \end{equation}
417
418 The {\tt doForces} step for the NPTi integrator is exactly the same
419 as in both the DLM and NVT integrators. Once the forces and torques
420 have been obtained at the new time step, the velocities can be
421 advanced to the same time value.
422
423 {\tt moveB:}
424 \begin{align*}
425 T(t + h) &\leftarrow \left\{{\bf v}(t + h)\right\},
426 \left\{{\bf j}(t + h)\right\} ,\\
427 %
428 P(t + h) &\leftarrow \left\{{\bf r}(t + h)\right\},
429 \left\{{\bf v}(t + h)\right\}, \\
430 %
431 \chi\left(t + h \right) &\leftarrow \chi\left(t + h /
432 2 \right) + \frac{h}{2 \tau_T^2} \left( \frac{T(t+h)}
433 {T_{\mathrm{target}}} - 1 \right), \\
434 %
435 \eta(t + h) &\leftarrow \eta(t + h / 2) +
436 \frac{h \mathcal{V}(t + h)}{2 N k_B T(t + h)
437 \tau_B^2} \left( P(t + h) - P_{\mathrm{target}} \right), \\
438 %
439 {\bf v}\left(t + h \right) &\leftarrow {\bf v}\left(t
440 + h / 2 \right) + \frac{h}{2} \left(
441 \frac{{\bf f}(t + h)}{m} - {\bf v}(t + h)
442 (\chi(t + h) + \eta(t + h)) \right) ,\\
443 %
444 {\bf j}\left(t + h \right) &\leftarrow {\bf j}\left(t
445 + h / 2 \right) + \frac{h}{2} \left( {\bf
446 \tau}^b(t + h) - {\bf j}(t + h)
447 \chi(t + h) \right) .
448 \end{align*}
449
450 Once again, since ${\bf v}(t + h)$ and ${\bf j}(t + h)$ are required
451 to caclculate $T(t + h)$, $P(t + h)$, $\chi(t + h)$, and $\eta(t +
452 h)$, they indirectly depend on their own values at time $t + h$.
453 {\tt moveB} is therefore done in an iterative fashion until $\chi(t
454 + h)$ and $\eta(t + h)$ become self-consistent. The relative
455 tolerance for the self-consistency check defaults to a value of
456 $\mbox{10}^{-6}$, but {\sc oopse} will terminate the iteration after
457 4 loops even if the consistency check has not been satisfied.
458
459 The Melchionna modification of the Nos\'e-Hoover-Andersen algorithm
460 is known to conserve a Hamiltonian for the extended system that is,
461 to within a constant, identical to the Gibbs free energy,
462 \begin{equation}
463 H_{\mathrm{NPTi}} = V + K + f k_B T_{\mathrm{target}} \left(
464 \frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime)
465 dt^\prime \right) + P_{\mathrm{target}} \mathcal{V}(t).
466 \end{equation}
467 Poor choices of $\delta t$, $\tau_T$, or $\tau_B$ can result in
468 non-conservation of $H_{\mathrm{NPTi}}$, so the conserved quantity
469 is maintained in the last column of the {\tt .stat} file to allow
470 checks on the quality of the integration. It is also known that
471 this algorithm samples the equilibrium distribution for the enthalpy
472 (including contributions for the thermostat and barostat),
473 \begin{equation}
474 H_{\mathrm{NPTi}} = V + K + \frac{f k_B T_{\mathrm{target}}}{2}
475 \left( \chi^2 \tau_T^2 + \eta^2 \tau_B^2 \right) +
476 P_{\mathrm{target}} \mathcal{V}(t).
477 \end{equation}
478
479 Bond constraints are applied at the end of both the {\tt moveA} and
480 {\tt moveB} portions of the algorithm. Details on the constraint
481 algorithms are given in section \ref{oopseSec:rattle}.
482
483 \subsection{\label{methodSection:NPTf}Constant-pressure integration with a
484 flexible box (NPTf)}
485
486 There is a relatively simple generalization of the
487 Nos\'e-Hoover-Andersen method to include changes in the simulation
488 box {\it shape} as well as in the volume of the box. This method
489 utilizes the full $3 \times 3$ pressure tensor and introduces a
490 tensor of extended variables ($\overleftrightarrow{\eta}$) to
491 control changes to the box shape. The equations of motion for this
492 method are
493 \begin{eqnarray}
494 \dot{{\bf r}} & = & {\bf v} + \overleftrightarrow{\eta} \cdot \left( {\bf r} - {\bf R}_0 \right), \\
495 \dot{{\bf v}} & = & \frac{{\bf f}}{m} - (\overleftrightarrow{\eta} +
496 \chi \cdot \mathsf{1}) {\bf v}, \\
497 \dot{\mathsf{A}} & = & \mathsf{A} \cdot
498 \mbox{ skew}\left(\overleftrightarrow{I}^{-1} \cdot {\bf j}\right) ,\\
499 \dot{{\bf j}} & = & {\bf j} \times \left(
500 \overleftrightarrow{I}^{-1} \cdot {\bf j} \right) - \mbox{
501 rot}\left(\mathsf{A}^{T} \cdot \frac{\partial
502 V}{\partial \mathsf{A}} \right) - \chi {\bf j} ,\\
503 \dot{\chi} & = & \frac{1}{\tau_{T}^2} \left(
504 \frac{T}{T_{\mathrm{target}}} - 1 \right) ,\\
505 \dot{\overleftrightarrow{\eta}} & = & \frac{1}{\tau_{B}^2 f k_B
506 T_{\mathrm{target}}} V \left( \overleftrightarrow{\mathsf{P}} - P_{\mathrm{target}}\mathsf{1} \right) ,\\
507 \dot{\mathsf{H}} & = & \overleftrightarrow{\eta} \cdot \mathsf{H} .
508 \label{eq:melchionna2}
509 \end{eqnarray}
510
511 Here, $\mathsf{1}$ is the unit matrix and
512 $\overleftrightarrow{\mathsf{P}}$ is the pressure tensor. Again,
513 the volume, $\mathcal{V} = \det \mathsf{H}$.
514
515 The propagation of the equations of motion is nearly identical to
516 the NPTi integration:
517
518 {\tt moveA:}
519 \begin{align*}
520 T(t) &\leftarrow \left\{{\bf v}(t)\right\}, \left\{{\bf j}(t)\right\} ,\\
521 %
522 \overleftrightarrow{\mathsf{P}}(t) &\leftarrow \left\{{\bf
523 r}(t)\right\},
524 \left\{{\bf v}(t)\right\} ,\\
525 %
526 {\bf v}\left(t + h / 2\right) &\leftarrow {\bf v}(t)
527 + \frac{h}{2} \left( \frac{{\bf f}(t)}{m} -
528 \left(\chi(t)\mathsf{1} + \overleftrightarrow{\eta}(t) \right) \cdot
529 {\bf v}(t) \right), \\
530 %
531 {\bf j}\left(t + h / 2 \right) &\leftarrow {\bf j}(t)
532 + \frac{h}{2} \left( {\bf \tau}^b(t) - {\bf j}(t)
533 \chi(t) \right), \\
534 %
535 \mathsf{A}(t + h) &\leftarrow \mathrm{rotate}\left(h *
536 {\bf j}(t + h / 2) \overleftrightarrow{\mathsf{I}}^{-1}
537 \right), \\
538 %
539 \chi\left(t + h / 2 \right) &\leftarrow \chi(t) +
540 \frac{h}{2 \tau_T^2} \left( \frac{T(t)}{T_{\mathrm{target}}}
541 - 1 \right), \\
542 %
543 \overleftrightarrow{\eta}(t + h / 2) &\leftarrow
544 \overleftrightarrow{\eta}(t) + \frac{h \mathcal{V}(t)}{2 N k_B
545 T(t) \tau_B^2} \left( \overleftrightarrow{\mathsf{P}}(t)
546 - P_{\mathrm{target}}\mathsf{1} \right), \\
547 %
548 {\bf r}(t + h) &\leftarrow {\bf r}(t) + h \left\{ {\bf v}
549 \left(t + h / 2 \right) + \overleftrightarrow{\eta}(t +
550 h / 2) \cdot \left[ {\bf r}(t + h)
551 - {\bf R}_0 \right] \right\}, \\
552 %
553 \mathsf{H}(t + h) &\leftarrow \mathsf{H}(t) \cdot e^{-h
554 \overleftrightarrow{\eta}(t + h / 2)} .
555 \end{align*}
556 {\sc oopse} uses a power series expansion truncated at second order
557 for the exponential operation which scales the simulation box.
558
559 The {\tt moveB} portion of the algorithm is largely unchanged from
560 the NPTi integrator:
561
562 {\tt moveB:}
563 \begin{align*}
564 T(t + h) &\leftarrow \left\{{\bf v}(t + h)\right\},
565 \left\{{\bf j}(t + h)\right\}, \\
566 %
567 \overleftrightarrow{\mathsf{P}}(t + h) &\leftarrow \left\{{\bf r}
568 (t + h)\right\}, \left\{{\bf v}(t
569 + h)\right\}, \left\{{\bf f}(t + h)\right\} ,\\
570 %
571 \chi\left(t + h \right) &\leftarrow \chi\left(t + h /
572 2 \right) + \frac{h}{2 \tau_T^2} \left( \frac{T(t+
573 h)}{T_{\mathrm{target}}} - 1 \right), \\
574 %
575 \overleftrightarrow{\eta}(t + h) &\leftarrow
576 \overleftrightarrow{\eta}(t + h / 2) +
577 \frac{h \mathcal{V}(t + h)}{2 N k_B T(t + h)
578 \tau_B^2} \left( \overleftrightarrow{P}(t + h)
579 - P_{\mathrm{target}}\mathsf{1} \right) ,\\
580 %
581 {\bf v}\left(t + h \right) &\leftarrow {\bf v}\left(t
582 + h / 2 \right) + \frac{h}{2} \left(
583 \frac{{\bf f}(t + h)}{m} -
584 (\chi(t + h)\mathsf{1} + \overleftrightarrow{\eta}(t
585 + h)) \right) \cdot {\bf v}(t + h), \\
586 %
587 {\bf j}\left(t + h \right) &\leftarrow {\bf j}\left(t
588 + h / 2 \right) + \frac{h}{2} \left( {\bf \tau}^b(t
589 + h) - {\bf j}(t + h) \chi(t + h) \right) .
590 \end{align*}
591
592 The iterative schemes for both {\tt moveA} and {\tt moveB} are
593 identical to those described for the NPTi integrator.
594
595 The NPTf integrator is known to conserve the following Hamiltonian:
596 \begin{equation}
597 H_{\mathrm{NPTf}} = V + K + f k_B T_{\mathrm{target}} \left(
598 \frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime)
599 dt^\prime \right) + P_{\mathrm{target}} \mathcal{V}(t) + \frac{f k_B
600 T_{\mathrm{target}}}{2}
601 \mathrm{Tr}\left[\overleftrightarrow{\eta}(t)\right]^2 \tau_B^2.
602 \end{equation}
603
604 This integrator must be used with care, particularly in liquid
605 simulations. Liquids have very small restoring forces in the
606 off-diagonal directions, and the simulation box can very quickly
607 form elongated and sheared geometries which become smaller than the
608 electrostatic or Lennard-Jones cutoff radii. The NPTf integrator
609 finds most use in simulating crystals or liquid crystals which
610 assume non-orthorhombic geometries.
611
612 \subsection{\label{methodSection:otherSpecialEnsembles}Other Special Ensembles}
613
614 \subsubsection{\label{methodSection:NPAT}NPAT Ensemble}
615
616 A comprehensive understanding of structure¨Cfunction relations of
617 biological membrane system ultimately relies on structure and
618 dynamics of lipid bilayer, which are strongly affected by the
619 interfacial interaction between lipid molecules and surrounding
620 media. One quantity to describe the interfacial interaction is so
621 called the average surface area per lipid. Constat area and constant
622 lateral pressure simulation can be achieved by extending the
623 standard NPT ensemble with a different pressure control strategy
624 \begin{equation}
625 \dot
626 \mathord{\buildrel{\lower3pt\hbox{$\scriptscriptstyle\leftrightarrow$}}
627 \over \eta } _{\alpha \beta } = \left\{ \begin{array}{l}
628 \frac{{V(P_{\alpha \beta } - P_{{\rm{target}}} )}}{{\tau _{\rm{B}}^{\rm{2}} fk_B T_{{\rm{target}}} }}{\rm{ }}(\alpha = \beta = z), \\
629 0{\rm{ }}(\alpha \ne z{\rm{ }}or{\rm{ }}\beta \ne z) \\
630 \end{array} \right.
631 \label{methodEquation:NPATeta}
632 \end{equation}
633 Note that the iterative schemes for NPAT are identical to those
634 described for the NPTi integrator.
635
636 \subsubsection{\label{methodSection:NPrT}NP$\gamma$T Ensemble}
637
638 Theoretically, the surface tension $\gamma$ of a stress free
639 membrane system should be zero since its surface free energy $G$ is
640 minimum with respect to surface area $A$
641 \[
642 \gamma = \frac{{\partial G}}{{\partial A}}.
643 \]
644 However, a surface tension of zero is not appropriate for relatively
645 small patches of membrane. In order to eliminate the edge effect of
646 the membrane simulation, a special ensemble, NP$\gamma$T, is
647 proposed to maintain the lateral surface tension and normal
648 pressure. The equation of motion for cell size control tensor,
649 $\eta$, in NP\gamma T is
650 \begin{equation}
651 \dot
652 \mathord{\buildrel{\lower3pt\hbox{$\scriptscriptstyle\leftrightarrow$}}
653 \over \eta } _{\alpha \beta } = \left\{ \begin{array}{l}
654 - A_{xy} (\gamma _\alpha - \gamma _{{\rm{target}}} ){\rm{ (}}\alpha = \beta = x{\rm{ or }} = y{\rm{)}} \\
655 \frac{{V(P_{\alpha \beta } - P_{{\rm{target}}} )}}{{\tau _{\rm{B}}^{\rm{2}} fk_B T_{{\rm{target}}} }}{\rm{ }}(\alpha = \beta = z) \\
656 0{\rm{ }}(\alpha \ne \beta ) \\
657 \end{array} \right.
658 \label{methodEquation:NPrTeta}
659 \end{equation}
660 where $ \gamma _{{\rm{target}}}$ is the external surface tension and
661 the instantaneous surface tensor $\gamma _\alpha$ is given by
662 \begin{equation}
663 \gamma _\alpha = - h_z
664 (\mathord{\buildrel{\lower3pt\hbox{$\scriptscriptstyle\leftrightarrow$}}
665 \over P} _{\alpha \alpha } - P_{{\rm{target}}} )
666 \label{methodEquation:instantaneousSurfaceTensor}
667 \end{equation}
668
669 There is one additional extended system integrator (NPTxyz), in
670 which each attempt to preserve the target pressure along the box
671 walls perpendicular to that particular axis. The lengths of the box
672 axes are allowed to fluctuate independently, but the angle between
673 the box axes does not change. It should be noted that the NPTxyz
674 integrator is a special case of $NP\gamma T$ if the surface tension
675 $\gamma$ is set to zero.
676
677 %\section{\label{methodSection:constraintMethod}Constraint Method}
678
679 %\subsection{\label{methodSection:bondConstraint}Bond Constraint for Rigid Body}
680
681 %\subsection{\label{methodSection:zcons}Z-constraint Method}
682
683 \section{\label{methodSection:langevin}Integrators for Langevin Dynamics of Rigid Bodies}
684
685 \subsection{\label{methodSection:temperature}Temperature Control}
686
687 \subsection{\label{methodSection:pressureControl}Pressure Control}
688
689 \section{\label{methodSection:hydrodynamics}Hydrodynamics}
690
691 %\section{\label{methodSection:coarseGrained}Coarse-Grained Modeling}
692
693 %\section{\label{methodSection:moleculeScale}Molecular-Scale Modeling}