ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/tengDissertation/Methodology.tex
(Generate patch)

Comparing trunk/tengDissertation/Methodology.tex (file contents):
Revision 2685 by tim, Mon Apr 3 18:07:54 2006 UTC vs.
Revision 2801 by tim, Tue Jun 6 14:56:36 2006 UTC

# Line 2 | Line 2
2  
3   \section{\label{methodSection:rigidBodyIntegrators}Integrators for Rigid Body Motion in Molecular Dynamics}
4  
5 < \section{\label{methodSection:conservedQuantities}Integrators to Conserve Properties in Special Ensembles}
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 < \section{\label{methodSection:hydrodynamics}Hydrodynamics}
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 < \section{\label{methodSection:langevin}Integrators for Langevin Dynamics of Rigid Bodies}
37 > \subsection{\label{methodSection:DLM}Integrating the Equations of Motion: the
38 > DLM method}
39  
40 < \section{\label{methodSection:coarseGrained}Coarse-Grained Modeling}
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 < \section{\label{methodSection:moleculeScale}Molecular-Scale Modeling}
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}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines