ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/tengDissertation/Methodology.tex
Revision: 2801
Committed: Tue Jun 6 14:56:36 2006 UTC (18 years, 1 month ago) by tim
Content type: application/x-tex
File size: 28815 byte(s)
Log Message:
more reference fixes

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.}
154 \label{methodFig:timestep}
155 \end{figure}
156
157 In Fig.~\ref{methodFig:timestep}, the resulting energy drift at
158 various time steps for both the DLM and quaternion integration
159 schemes is compared. All of the 1000 molecule water simulations
160 started with the same configuration, and the only difference was the
161 method for handling rotational motion. At time steps of 0.1 and 0.5
162 fs, both methods for propagating molecule rotation conserve energy
163 fairly well, with the quaternion method showing a slight energy
164 drift over time in the 0.5 fs time step simulation. At time steps of
165 1 and 2 fs, the energy conservation benefits of the DLM method are
166 clearly demonstrated. Thus, while maintaining the same degree of
167 energy conservation, one can take considerably longer time steps,
168 leading to an overall reduction in computation time.
169
170 \subsection{\label{methodSection:NVT}Nos\'{e}-Hoover Thermostatting}
171
172 The Nos\'e-Hoover equations of motion are given by\cite{Hoover1985}
173 \begin{eqnarray}
174 \dot{{\bf r}} & = & {\bf v}, \\
175 \dot{{\bf v}} & = & \frac{{\bf f}}{m} - \chi {\bf v} ,\\
176 \dot{\mathsf{A}} & = & \mathsf{A} \cdot
177 \mbox{ skew}\left(\overleftrightarrow{\mathsf{I}}^{-1} \cdot {\bf j}\right), \\
178 \dot{{\bf j}} & = & {\bf j} \times \left(
179 \overleftrightarrow{\mathsf{I}}^{-1} \cdot {\bf j} \right) - \mbox{
180 rot}\left(\mathsf{A}^{T} \cdot \frac{\partial V}{\partial
181 \mathsf{A}} \right) - \chi {\bf j}. \label{eq:nosehoovereom}
182 \end{eqnarray}
183
184 $\chi$ is an ``extra'' variable included in the extended system, and
185 it is propagated using the first order equation of motion
186 \begin{equation}
187 \dot{\chi} = \frac{1}{\tau_{T}^2} \left(
188 \frac{T}{T_{\mathrm{target}}} - 1 \right). \label{eq:nosehooverext}
189 \end{equation}
190
191 The instantaneous temperature $T$ is proportional to the total
192 kinetic energy (both translational and orientational) and is given
193 by
194 \begin{equation}
195 T = \frac{2 K}{f k_B}
196 \end{equation}
197 Here, $f$ is the total number of degrees of freedom in the system,
198 \begin{equation}
199 f = 3 N + 3 N_{\mathrm{orient}} - N_{\mathrm{constraints}},
200 \end{equation}
201 and $K$ is the total kinetic energy,
202 \begin{equation}
203 K = \sum_{i=1}^{N} \frac{1}{2} m_i {\bf v}_i^T \cdot {\bf v}_i +
204 \sum_{i=1}^{N_{\mathrm{orient}}} \frac{1}{2} {\bf j}_i^T \cdot
205 \overleftrightarrow{\mathsf{I}}_i^{-1} \cdot {\bf j}_i.
206 \end{equation}
207
208 In eq.(\ref{eq:nosehooverext}), $\tau_T$ is the time constant for
209 relaxation of the temperature to the target value. To set values
210 for $\tau_T$ or $T_{\mathrm{target}}$ in a simulation, one would use
211 the {\tt tauThermostat} and {\tt targetTemperature} keywords in the
212 {\tt .bass} file. The units for {\tt tauThermostat} are fs, and the
213 units for the {\tt targetTemperature} are degrees K. The
214 integration of the equations of motion is carried out in a
215 velocity-Verlet style 2 part algorithm:
216
217 {\tt moveA:}
218 \begin{align*}
219 T(t) &\leftarrow \left\{{\bf v}(t)\right\}, \left\{{\bf j}(t)\right\} ,\\
220 %
221 {\bf v}\left(t + h / 2\right) &\leftarrow {\bf v}(t)
222 + \frac{h}{2} \left( \frac{{\bf f}(t)}{m} - {\bf v}(t)
223 \chi(t)\right), \\
224 %
225 {\bf r}(t + h) &\leftarrow {\bf r}(t)
226 + h {\bf v}\left(t + h / 2 \right) ,\\
227 %
228 {\bf j}\left(t + h / 2 \right) &\leftarrow {\bf j}(t)
229 + \frac{h}{2} \left( {\bf \tau}^b(t) - {\bf j}(t)
230 \chi(t) \right) ,\\
231 %
232 \mathsf{A}(t + h) &\leftarrow \mathrm{rotate}
233 \left(h * {\bf j}(t + h / 2)
234 \overleftrightarrow{\mathsf{I}}^{-1} \right) ,\\
235 %
236 \chi\left(t + h / 2 \right) &\leftarrow \chi(t)
237 + \frac{h}{2 \tau_T^2} \left( \frac{T(t)}
238 {T_{\mathrm{target}}} - 1 \right) .
239 \end{align*}
240
241 Here $\mathrm{rotate}(h * {\bf j}
242 \overleftrightarrow{\mathsf{I}}^{-1})$ is the same symplectic
243 Trotter factorization of the three rotation operations that was
244 discussed in the section on the DLM integrator. Note that this
245 operation modifies both the rotation matrix $\mathsf{A}$ and the
246 angular momentum ${\bf j}$. {\tt moveA} propagates velocities by a
247 half time step, and positional degrees of freedom by a full time
248 step. The new positions (and orientations) are then used to
249 calculate a new set of forces and torques in exactly the same way
250 they are calculated in the {\tt doForces} portion of the DLM
251 integrator.
252
253 Once the forces and torques have been obtained at the new time step,
254 the temperature, velocities, and the extended system variable can be
255 advanced to the same time value.
256
257 {\tt moveB:}
258 \begin{align*}
259 T(t + h) &\leftarrow \left\{{\bf v}(t + h)\right\},
260 \left\{{\bf j}(t + h)\right\}, \\
261 %
262 \chi\left(t + h \right) &\leftarrow \chi\left(t + h /
263 2 \right) + \frac{h}{2 \tau_T^2} \left( \frac{T(t+h)}
264 {T_{\mathrm{target}}} - 1 \right), \\
265 %
266 {\bf v}\left(t + h \right) &\leftarrow {\bf v}\left(t
267 + h / 2 \right) + \frac{h}{2} \left(
268 \frac{{\bf f}(t + h)}{m} - {\bf v}(t + h)
269 \chi(t h)\right) ,\\
270 %
271 {\bf j}\left(t + h \right) &\leftarrow {\bf j}\left(t
272 + h / 2 \right) + \frac{h}{2}
273 \left( {\bf \tau}^b(t + h) - {\bf j}(t + h)
274 \chi(t + h) \right) .
275 \end{align*}
276
277 Since ${\bf v}(t + h)$ and ${\bf j}(t + h)$ are required to
278 caclculate $T(t + h)$ as well as $\chi(t + h)$, they indirectly
279 depend on their own values at time $t + h$. {\tt moveB} is
280 therefore done in an iterative fashion until $\chi(t + h)$ becomes
281 self-consistent. The relative tolerance for the self-consistency
282 check defaults to a value of $\mbox{10}^{-6}$, but {\sc oopse} will
283 terminate the iteration after 4 loops even if the consistency check
284 has not been satisfied.
285
286 The Nos\'e-Hoover algorithm is known to conserve a Hamiltonian for
287 the extended system that is, to within a constant, identical to the
288 Helmholtz free energy,\cite{Melchionna1993}
289 \begin{equation}
290 H_{\mathrm{NVT}} = V + K + f k_B T_{\mathrm{target}} \left(
291 \frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime)
292 dt^\prime \right).
293 \end{equation}
294 Poor choices of $h$ or $\tau_T$ can result in non-conservation of
295 $H_{\mathrm{NVT}}$, so the conserved quantity is maintained in the
296 last column of the {\tt .stat} file to allow checks on the quality
297 of the integration.
298
299 \subsection{\label{methodSection:NPTi}Constant-pressure integration with
300 isotropic box deformations (NPTi)}
301
302 To carry out isobaric-isothermal ensemble calculations {\sc oopse}
303 implements the Melchionna modifications to the
304 Nos\'e-Hoover-Andersen equations of motion,\cite{Melchionna1993}
305
306 \begin{eqnarray}
307 \dot{{\bf r}} & = & {\bf v} + \eta \left( {\bf r} - {\bf R}_0 \right), \\
308 \dot{{\bf v}} & = & \frac{{\bf f}}{m} - (\eta + \chi) {\bf v}, \\
309 \dot{\mathsf{A}} & = & \mathsf{A} \cdot
310 \mbox{ skew}\left(\overleftrightarrow{I}^{-1} \cdot {\bf j}\right),\\
311 \dot{{\bf j}} & = & {\bf j} \times \left(
312 \overleftrightarrow{I}^{-1} \cdot {\bf j} \right) - \mbox{
313 rot}\left(\mathsf{A}^{T} \cdot \frac{\partial
314 V}{\partial \mathsf{A}} \right) - \chi {\bf j}, \\
315 \dot{\chi} & = & \frac{1}{\tau_{T}^2} \left(
316 \frac{T}{T_{\mathrm{target}}} - 1 \right) ,\\
317 \dot{\eta} & = & \frac{1}{\tau_{B}^2 f k_B T_{\mathrm{target}}} V
318 \left( P -
319 P_{\mathrm{target}} \right), \\
320 \dot{\mathcal{V}} & = & 3 \mathcal{V} \eta . \label{eq:melchionna1}
321 \end{eqnarray}
322
323 $\chi$ and $\eta$ are the ``extra'' degrees of freedom in the
324 extended system. $\chi$ is a thermostat, and it has the same
325 function as it does in the Nos\'e-Hoover NVT integrator. $\eta$ is
326 a barostat which controls changes to the volume of the simulation
327 box. ${\bf R}_0$ is the location of the center of mass for the
328 entire system, and $\mathcal{V}$ is the volume of the simulation
329 box. At any time, the volume can be calculated from the determinant
330 of the matrix which describes the box shape:
331 \begin{equation}
332 \mathcal{V} = \det(\mathsf{H}).
333 \end{equation}
334
335 The NPTi integrator requires an instantaneous pressure. This
336 quantity is calculated via the pressure tensor,
337 \begin{equation}
338 \overleftrightarrow{\mathsf{P}}(t) = \frac{1}{\mathcal{V}(t)} \left(
339 \sum_{i=1}^{N} m_i {\bf v}_i(t) \otimes {\bf v}_i(t) \right) +
340 \overleftrightarrow{\mathsf{W}}(t).
341 \end{equation}
342 The kinetic contribution to the pressure tensor utilizes the {\it
343 outer} product of the velocities denoted by the $\otimes$ symbol.
344 The stress tensor is calculated from another outer product of the
345 inter-atomic separation vectors (${\bf r}_{ij} = {\bf r}_j - {\bf
346 r}_i$) with the forces between the same two atoms,
347 \begin{equation}
348 \overleftrightarrow{\mathsf{W}}(t) = \sum_{i} \sum_{j>i} {\bf
349 r}_{ij}(t) \otimes {\bf f}_{ij}(t).
350 \end{equation}
351 The instantaneous pressure is then simply obtained from the trace of
352 the Pressure tensor,
353 \begin{equation}
354 P(t) = \frac{1}{3} \mathrm{Tr} \left(
355 \overleftrightarrow{\mathsf{P}}(t). \right)
356 \end{equation}
357
358 In eq.(\ref{eq:melchionna1}), $\tau_B$ is the time constant for
359 relaxation of the pressure to the target value. To set values for
360 $\tau_B$ or $P_{\mathrm{target}}$ in a simulation, one would use the
361 {\tt tauBarostat} and {\tt targetPressure} keywords in the {\tt
362 .bass} file. The units for {\tt tauBarostat} are fs, and the units
363 for the {\tt targetPressure} are atmospheres. Like in the NVT
364 integrator, the integration of the equations of motion is carried
365 out in a velocity-Verlet style 2 part algorithm:
366
367 {\tt moveA:}
368 \begin{align*}
369 T(t) &\leftarrow \left\{{\bf v}(t)\right\}, \left\{{\bf j}(t)\right\} ,\\
370 %
371 P(t) &\leftarrow \left\{{\bf r}(t)\right\}, \left\{{\bf v}(t)\right\} ,\\
372 %
373 {\bf v}\left(t + h / 2\right) &\leftarrow {\bf v}(t)
374 + \frac{h}{2} \left( \frac{{\bf f}(t)}{m} - {\bf v}(t)
375 \left(\chi(t) + \eta(t) \right) \right), \\
376 %
377 {\bf j}\left(t + h / 2 \right) &\leftarrow {\bf j}(t)
378 + \frac{h}{2} \left( {\bf \tau}^b(t) - {\bf j}(t)
379 \chi(t) \right), \\
380 %
381 \mathsf{A}(t + h) &\leftarrow \mathrm{rotate}\left(h *
382 {\bf j}(t + h / 2) \overleftrightarrow{\mathsf{I}}^{-1}
383 \right) ,\\
384 %
385 \chi\left(t + h / 2 \right) &\leftarrow \chi(t) +
386 \frac{h}{2 \tau_T^2} \left( \frac{T(t)}{T_{\mathrm{target}}} - 1
387 \right) ,\\
388 %
389 \eta(t + h / 2) &\leftarrow \eta(t) + \frac{h
390 \mathcal{V}(t)}{2 N k_B T(t) \tau_B^2} \left( P(t)
391 - P_{\mathrm{target}} \right), \\
392 %
393 {\bf r}(t + h) &\leftarrow {\bf r}(t) + h
394 \left\{ {\bf v}\left(t + h / 2 \right)
395 + \eta(t + h / 2)\left[ {\bf r}(t + h)
396 - {\bf R}_0 \right] \right\} ,\\
397 %
398 \mathsf{H}(t + h) &\leftarrow e^{-h \eta(t + h / 2)}
399 \mathsf{H}(t).
400 \end{align*}
401
402 Most of these equations are identical to their counterparts in the
403 NVT integrator, but the propagation of positions to time $t + h$
404 depends on the positions at the same time. {\sc oopse} carries out
405 this step iteratively (with a limit of 5 passes through the
406 iterative loop). Also, the simulation box $\mathsf{H}$ is scaled
407 uniformly for one full time step by an exponential factor that
408 depends on the value of $\eta$ at time $t + h / 2$. Reshaping the
409 box uniformly also scales the volume of the box by
410 \begin{equation}
411 \mathcal{V}(t + h) \leftarrow e^{ - 3 h \eta(t + h /2)}.
412 \mathcal{V}(t)
413 \end{equation}
414
415 The {\tt doForces} step for the NPTi integrator is exactly the same
416 as in both the DLM and NVT integrators. Once the forces and torques
417 have been obtained at the new time step, the velocities can be
418 advanced to the same time value.
419
420 {\tt moveB:}
421 \begin{align*}
422 T(t + h) &\leftarrow \left\{{\bf v}(t + h)\right\},
423 \left\{{\bf j}(t + h)\right\} ,\\
424 %
425 P(t + h) &\leftarrow \left\{{\bf r}(t + h)\right\},
426 \left\{{\bf v}(t + h)\right\}, \\
427 %
428 \chi\left(t + h \right) &\leftarrow \chi\left(t + h /
429 2 \right) + \frac{h}{2 \tau_T^2} \left( \frac{T(t+h)}
430 {T_{\mathrm{target}}} - 1 \right), \\
431 %
432 \eta(t + h) &\leftarrow \eta(t + h / 2) +
433 \frac{h \mathcal{V}(t + h)}{2 N k_B T(t + h)
434 \tau_B^2} \left( P(t + h) - P_{\mathrm{target}} \right), \\
435 %
436 {\bf v}\left(t + h \right) &\leftarrow {\bf v}\left(t
437 + h / 2 \right) + \frac{h}{2} \left(
438 \frac{{\bf f}(t + h)}{m} - {\bf v}(t + h)
439 (\chi(t + h) + \eta(t + h)) \right) ,\\
440 %
441 {\bf j}\left(t + h \right) &\leftarrow {\bf j}\left(t
442 + h / 2 \right) + \frac{h}{2} \left( {\bf
443 \tau}^b(t + h) - {\bf j}(t + h)
444 \chi(t + h) \right) .
445 \end{align*}
446
447 Once again, since ${\bf v}(t + h)$ and ${\bf j}(t + h)$ are required
448 to caclculate $T(t + h)$, $P(t + h)$, $\chi(t + h)$, and $\eta(t +
449 h)$, they indirectly depend on their own values at time $t + h$.
450 {\tt moveB} is therefore done in an iterative fashion until $\chi(t
451 + h)$ and $\eta(t + h)$ become self-consistent. The relative
452 tolerance for the self-consistency check defaults to a value of
453 $\mbox{10}^{-6}$, but {\sc oopse} will terminate the iteration after
454 4 loops even if the consistency check has not been satisfied.
455
456 The Melchionna modification of the Nos\'e-Hoover-Andersen algorithm
457 is known to conserve a Hamiltonian for the extended system that is,
458 to within a constant, identical to the Gibbs free energy,
459 \begin{equation}
460 H_{\mathrm{NPTi}} = V + K + f k_B T_{\mathrm{target}} \left(
461 \frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime)
462 dt^\prime \right) + P_{\mathrm{target}} \mathcal{V}(t).
463 \end{equation}
464 Poor choices of $\delta t$, $\tau_T$, or $\tau_B$ can result in
465 non-conservation of $H_{\mathrm{NPTi}}$, so the conserved quantity
466 is maintained in the last column of the {\tt .stat} file to allow
467 checks on the quality of the integration. It is also known that
468 this algorithm samples the equilibrium distribution for the enthalpy
469 (including contributions for the thermostat and barostat),
470 \begin{equation}
471 H_{\mathrm{NPTi}} = V + K + \frac{f k_B T_{\mathrm{target}}}{2}
472 \left( \chi^2 \tau_T^2 + \eta^2 \tau_B^2 \right) +
473 P_{\mathrm{target}} \mathcal{V}(t).
474 \end{equation}
475
476 Bond constraints are applied at the end of both the {\tt moveA} and
477 {\tt moveB} portions of the algorithm. Details on the constraint
478 algorithms are given in section \ref{oopseSec:rattle}.
479
480 \subsection{\label{methodSection:NPTf}Constant-pressure integration with a
481 flexible box (NPTf)}
482
483 There is a relatively simple generalization of the
484 Nos\'e-Hoover-Andersen method to include changes in the simulation
485 box {\it shape} as well as in the volume of the box. This method
486 utilizes the full $3 \times 3$ pressure tensor and introduces a
487 tensor of extended variables ($\overleftrightarrow{\eta}$) to
488 control changes to the box shape. The equations of motion for this
489 method are
490 \begin{eqnarray}
491 \dot{{\bf r}} & = & {\bf v} + \overleftrightarrow{\eta} \cdot \left( {\bf r} - {\bf R}_0 \right), \\
492 \dot{{\bf v}} & = & \frac{{\bf f}}{m} - (\overleftrightarrow{\eta} +
493 \chi \cdot \mathsf{1}) {\bf v}, \\
494 \dot{\mathsf{A}} & = & \mathsf{A} \cdot
495 \mbox{ skew}\left(\overleftrightarrow{I}^{-1} \cdot {\bf j}\right) ,\\
496 \dot{{\bf j}} & = & {\bf j} \times \left(
497 \overleftrightarrow{I}^{-1} \cdot {\bf j} \right) - \mbox{
498 rot}\left(\mathsf{A}^{T} \cdot \frac{\partial
499 V}{\partial \mathsf{A}} \right) - \chi {\bf j} ,\\
500 \dot{\chi} & = & \frac{1}{\tau_{T}^2} \left(
501 \frac{T}{T_{\mathrm{target}}} - 1 \right) ,\\
502 \dot{\overleftrightarrow{\eta}} & = & \frac{1}{\tau_{B}^2 f k_B
503 T_{\mathrm{target}}} V \left( \overleftrightarrow{\mathsf{P}} - P_{\mathrm{target}}\mathsf{1} \right) ,\\
504 \dot{\mathsf{H}} & = & \overleftrightarrow{\eta} \cdot \mathsf{H} .
505 \label{eq:melchionna2}
506 \end{eqnarray}
507
508 Here, $\mathsf{1}$ is the unit matrix and
509 $\overleftrightarrow{\mathsf{P}}$ is the pressure tensor. Again,
510 the volume, $\mathcal{V} = \det \mathsf{H}$.
511
512 The propagation of the equations of motion is nearly identical to
513 the NPTi integration:
514
515 {\tt moveA:}
516 \begin{align*}
517 T(t) &\leftarrow \left\{{\bf v}(t)\right\}, \left\{{\bf j}(t)\right\} ,\\
518 %
519 \overleftrightarrow{\mathsf{P}}(t) &\leftarrow \left\{{\bf
520 r}(t)\right\},
521 \left\{{\bf v}(t)\right\} ,\\
522 %
523 {\bf v}\left(t + h / 2\right) &\leftarrow {\bf v}(t)
524 + \frac{h}{2} \left( \frac{{\bf f}(t)}{m} -
525 \left(\chi(t)\mathsf{1} + \overleftrightarrow{\eta}(t) \right) \cdot
526 {\bf v}(t) \right), \\
527 %
528 {\bf j}\left(t + h / 2 \right) &\leftarrow {\bf j}(t)
529 + \frac{h}{2} \left( {\bf \tau}^b(t) - {\bf j}(t)
530 \chi(t) \right), \\
531 %
532 \mathsf{A}(t + h) &\leftarrow \mathrm{rotate}\left(h *
533 {\bf j}(t + h / 2) \overleftrightarrow{\mathsf{I}}^{-1}
534 \right), \\
535 %
536 \chi\left(t + h / 2 \right) &\leftarrow \chi(t) +
537 \frac{h}{2 \tau_T^2} \left( \frac{T(t)}{T_{\mathrm{target}}}
538 - 1 \right), \\
539 %
540 \overleftrightarrow{\eta}(t + h / 2) &\leftarrow
541 \overleftrightarrow{\eta}(t) + \frac{h \mathcal{V}(t)}{2 N k_B
542 T(t) \tau_B^2} \left( \overleftrightarrow{\mathsf{P}}(t)
543 - P_{\mathrm{target}}\mathsf{1} \right), \\
544 %
545 {\bf r}(t + h) &\leftarrow {\bf r}(t) + h \left\{ {\bf v}
546 \left(t + h / 2 \right) + \overleftrightarrow{\eta}(t +
547 h / 2) \cdot \left[ {\bf r}(t + h)
548 - {\bf R}_0 \right] \right\}, \\
549 %
550 \mathsf{H}(t + h) &\leftarrow \mathsf{H}(t) \cdot e^{-h
551 \overleftrightarrow{\eta}(t + h / 2)} .
552 \end{align*}
553 {\sc oopse} uses a power series expansion truncated at second order
554 for the exponential operation which scales the simulation box.
555
556 The {\tt moveB} portion of the algorithm is largely unchanged from
557 the NPTi integrator:
558
559 {\tt moveB:}
560 \begin{align*}
561 T(t + h) &\leftarrow \left\{{\bf v}(t + h)\right\},
562 \left\{{\bf j}(t + h)\right\}, \\
563 %
564 \overleftrightarrow{\mathsf{P}}(t + h) &\leftarrow \left\{{\bf r}
565 (t + h)\right\}, \left\{{\bf v}(t
566 + h)\right\}, \left\{{\bf f}(t + h)\right\} ,\\
567 %
568 \chi\left(t + h \right) &\leftarrow \chi\left(t + h /
569 2 \right) + \frac{h}{2 \tau_T^2} \left( \frac{T(t+
570 h)}{T_{\mathrm{target}}} - 1 \right), \\
571 %
572 \overleftrightarrow{\eta}(t + h) &\leftarrow
573 \overleftrightarrow{\eta}(t + h / 2) +
574 \frac{h \mathcal{V}(t + h)}{2 N k_B T(t + h)
575 \tau_B^2} \left( \overleftrightarrow{P}(t + h)
576 - P_{\mathrm{target}}\mathsf{1} \right) ,\\
577 %
578 {\bf v}\left(t + h \right) &\leftarrow {\bf v}\left(t
579 + h / 2 \right) + \frac{h}{2} \left(
580 \frac{{\bf f}(t + h)}{m} -
581 (\chi(t + h)\mathsf{1} + \overleftrightarrow{\eta}(t
582 + h)) \right) \cdot {\bf v}(t + h), \\
583 %
584 {\bf j}\left(t + h \right) &\leftarrow {\bf j}\left(t
585 + h / 2 \right) + \frac{h}{2} \left( {\bf \tau}^b(t
586 + h) - {\bf j}(t + h) \chi(t + h) \right) .
587 \end{align*}
588
589 The iterative schemes for both {\tt moveA} and {\tt moveB} are
590 identical to those described for the NPTi integrator.
591
592 The NPTf integrator is known to conserve the following Hamiltonian:
593 \begin{equation}
594 H_{\mathrm{NPTf}} = V + K + f k_B T_{\mathrm{target}} \left(
595 \frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime)
596 dt^\prime \right) + P_{\mathrm{target}} \mathcal{V}(t) + \frac{f k_B
597 T_{\mathrm{target}}}{2}
598 \mathrm{Tr}\left[\overleftrightarrow{\eta}(t)\right]^2 \tau_B^2.
599 \end{equation}
600
601 This integrator must be used with care, particularly in liquid
602 simulations. Liquids have very small restoring forces in the
603 off-diagonal directions, and the simulation box can very quickly
604 form elongated and sheared geometries which become smaller than the
605 electrostatic or Lennard-Jones cutoff radii. The NPTf integrator
606 finds most use in simulating crystals or liquid crystals which
607 assume non-orthorhombic geometries.
608
609 \subsection{\label{methodSection:otherSpecialEnsembles}Other Special Ensembles}
610
611 \subsubsection{\label{methodSection:NPAT}NPAT Ensemble}
612
613 A comprehensive understanding of structure¨Cfunction relations of
614 biological membrane system ultimately relies on structure and
615 dynamics of lipid bilayer, which are strongly affected by the
616 interfacial interaction between lipid molecules and surrounding
617 media. One quantity to describe the interfacial interaction is so
618 called the average surface area per lipid. Constat area and constant
619 lateral pressure simulation can be achieved by extending the
620 standard NPT ensemble with a different pressure control strategy
621
622 \begin{equation}
623 \dot {\overleftrightarrow{\eta}} _{\alpha \beta}=\left\{\begin{array}{ll}
624 \frac{{V(P_{\alpha \beta } - P_{{\rm{target}}} )}}{{\tau_{\rm{B}}^{\rm{2}} fk_B T_{{\rm{target}}} }}
625 & \mbox{if $ \alpha = \beta = z$}\\
626 0 & \mbox{otherwise}\\
627 \end{array}
628 \right.
629 \end{equation}
630
631 Note that the iterative schemes for NPAT are identical to those
632 described for the NPTi integrator.
633
634 \subsubsection{\label{methodSection:NPrT}NP$\gamma$T Ensemble}
635
636 Theoretically, the surface tension $\gamma$ of a stress free
637 membrane system should be zero since its surface free energy $G$ is
638 minimum with respect to surface area $A$
639 \[
640 \gamma = \frac{{\partial G}}{{\partial A}}.
641 \]
642 However, a surface tension of zero is not appropriate for relatively
643 small patches of membrane. In order to eliminate the edge effect of
644 the membrane simulation, a special ensemble, NP$\gamma$T, is
645 proposed to maintain the lateral surface tension and normal
646 pressure. The equation of motion for cell size control tensor,
647 $\eta$, in $NP\gamma T$ is
648 \begin{equation}
649 \dot {\overleftrightarrow{\eta}} _{\alpha \beta}=\left\{\begin{array}{ll}
650 - A_{xy} (\gamma _\alpha - \gamma _{{\rm{target}}} ) & \mbox{$\alpha = \beta = x$ or $\alpha = \beta = y$}\\
651 \frac{{V(P_{\alpha \beta } - P_{{\rm{target}}} )}}{{\tau _{\rm{B}}^{\rm{2}} fk_B T_{{\rm{target}}}}} & \mbox{$\alpha = \beta = z$} \\
652 0 & \mbox{$\alpha \ne \beta$} \\
653 \end{array}
654 \right.
655 \end{equation}
656 where $ \gamma _{{\rm{target}}}$ is the external surface tension and
657 the instantaneous surface tensor $\gamma _\alpha$ is given by
658 \begin{equation}
659 \gamma _\alpha = - h_z( \overleftrightarrow{P} _{\alpha \alpha }
660 - P_{{\rm{target}}} )
661 \label{methodEquation:instantaneousSurfaceTensor}
662 \end{equation}
663
664 There is one additional extended system integrator (NPTxyz), in
665 which each attempt to preserve the target pressure along the box
666 walls perpendicular to that particular axis. The lengths of the box
667 axes are allowed to fluctuate independently, but the angle between
668 the box axes does not change. It should be noted that the NPTxyz
669 integrator is a special case of $NP\gamma T$ if the surface tension
670 $\gamma$ is set to zero.
671
672 %\section{\label{methodSection:constraintMethod}Constraint Method}
673
674 %\subsection{\label{methodSection:bondConstraint}Bond Constraint for Rigid Body}
675
676 %\subsection{\label{methodSection:zcons}Z-constraint Method}
677
678 \section{\label{methodSection:langevin}Integrators for Langevin Dynamics of Rigid Bodies}
679
680 \subsection{\label{methodSection:temperature}Temperature Control}
681
682 \subsection{\label{methodSection:pressureControl}Pressure Control}
683
684 \section{\label{methodSection:hydrodynamics}Hydrodynamics}
685
686 %\section{\label{methodSection:coarseGrained}Coarse-Grained Modeling}
687
688 %\section{\label{methodSection:moleculeScale}Molecular-Scale Modeling}