ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/tengDissertation/Methodology.tex
Revision: 2798
Committed: Tue Jun 6 14:12:59 2006 UTC (18 years ago) by tim
Content type: application/x-tex
File size: 29019 byte(s)
Log Message:
minor fixes

File Contents

# User Rev Content
1 tim 2685 \chapter{\label{chapt:methodology}METHODOLOGY}
2    
3     \section{\label{methodSection:rigidBodyIntegrators}Integrators for Rigid Body Motion in Molecular Dynamics}
4    
5 tim 2729 In order to mimic the experiments, which are usually performed under
6     constant temperature and/or pressure, extended Hamiltonian system
7 tim 2739 methods have been developed to generate statistical ensembles, such
8 tim 2729 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 tim 2685
17 tim 2729 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 tim 2685
37 tim 2729 \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 tim 2739 \subsection{\label{methodSection:otherSpecialEnsembles}Other Special Ensembles}
613 tim 2729
614 tim 2776 \subsubsection{\label{methodSection:NPAT}NPAT Ensemble}
615 tim 2729
616 tim 2739 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 tim 2798
625 tim 2729 \begin{equation}
626 tim 2798 \.{\overleftrightarrow{{\eta _{\alpha \beta}}}}=\left\{\begin{array}{ll}
627     \frac{{V(P_{\alpha \beta } - P_{{\rm{target}}} )}}{{\tau_{\rm{B}}^{\rm{2}} fk_B T_{{\rm{target}}} }}
628     & \mbox{if \[ \alpha = \beta = z)$}\\
629     0 & \mbox{otherwise}\\
630     \end{array}
631     \right.
632 tim 2729 \end{equation}
633 tim 2798
634 tim 2739 Note that the iterative schemes for NPAT are identical to those
635     described for the NPTi integrator.
636 tim 2729
637 tim 2776 \subsubsection{\label{methodSection:NPrT}NP$\gamma$T Ensemble}
638 tim 2729
639 tim 2739 Theoretically, the surface tension $\gamma$ of a stress free
640     membrane system should be zero since its surface free energy $G$ is
641     minimum with respect to surface area $A$
642     \[
643     \gamma = \frac{{\partial G}}{{\partial A}}.
644     \]
645     However, a surface tension of zero is not appropriate for relatively
646     small patches of membrane. In order to eliminate the edge effect of
647 tim 2776 the membrane simulation, a special ensemble, NP$\gamma$T, is
648     proposed to maintain the lateral surface tension and normal
649     pressure. The equation of motion for cell size control tensor,
650 tim 2778 $\eta$, in $NP\gamma T$ is
651 tim 2729 \begin{equation}
652 tim 2798 \.{\overleftrightarrow{{\eta _{\alpha \beta}}}}=\left\{\begin{array}{ll}
653     - A_{xy} (\gamma _\alpha - \gamma _{{\rm{target}}} ) & \mbox{$\alpha = \beta = x$ or $\alpha = \beta = y$}\\
654     \frac{{V(P_{\alpha \beta } - P_{{\rm{target}}} )}}{{\tau _{\rm{B}}^{\rm{2}} fk_B T_{{\rm{target}}}}} & \mbox{$\alpha = \beta = z$} \\
655     0 & \mbox{$\alpha \ne \beta$} \\
656     \right.
657 tim 2729 \end{equation}
658 tim 2739 where $ \gamma _{{\rm{target}}}$ is the external surface tension and
659     the instantaneous surface tensor $\gamma _\alpha$ is given by
660 tim 2729 \begin{equation}
661 tim 2739 \gamma _\alpha = - h_z
662     (\mathord{\buildrel{\lower3pt\hbox{$\scriptscriptstyle\leftrightarrow$}}
663     \over P} _{\alpha \alpha } - P_{{\rm{target}}} )
664     \label{methodEquation:instantaneousSurfaceTensor}
665 tim 2729 \end{equation}
666    
667 tim 2739 There is one additional extended system integrator (NPTxyz), in
668     which each attempt to preserve the target pressure along the box
669     walls perpendicular to that particular axis. The lengths of the box
670     axes are allowed to fluctuate independently, but the angle between
671     the box axes does not change. It should be noted that the NPTxyz
672     integrator is a special case of $NP\gamma T$ if the surface tension
673     $\gamma$ is set to zero.
674 tim 2729
675 tim 2776 %\section{\label{methodSection:constraintMethod}Constraint Method}
676    
677     %\subsection{\label{methodSection:bondConstraint}Bond Constraint for Rigid Body}
678    
679     %\subsection{\label{methodSection:zcons}Z-constraint Method}
680    
681 tim 2685 \section{\label{methodSection:langevin}Integrators for Langevin Dynamics of Rigid Bodies}
682    
683 tim 2729 \subsection{\label{methodSection:temperature}Temperature Control}
684 tim 2685
685 tim 2729 \subsection{\label{methodSection:pressureControl}Pressure Control}
686    
687     \section{\label{methodSection:hydrodynamics}Hydrodynamics}
688    
689     %\section{\label{methodSection:coarseGrained}Coarse-Grained Modeling}
690    
691     %\section{\label{methodSection:moleculeScale}Molecular-Scale Modeling}